opera window.postMessage
есть скрипт, вроде этого
var a={
ctor:function(){
a.target=document.getElementById('frame').contentWindow;
a.send(1);
},
target:null,
send:function(b){
a.target.postMessage(a,'http://domain2.com')
}
}
window.load=a.ctor();
send не посылает сообщение на указанный домен, который есть на странице . никаких ошибок нет, вообще ни чего. но вот если перед a.target.postMessage(a,'http://domain2.com') вызвать alert() то всё отлично работает и сообщение отправляется. alert не важно какой. хоть пустой.. что это за баг такой? это наблюдается как в opera так и firefox |
Фрейм загрузиться, видимо, не успевает.
|
Цитата:
неее.. вечный цикл это я поспешил.. практически вешает оперу :D upd: в общем поставил проверку, если флаг установлен отправляем, если нет через setTimeout вызываем себя же через секунду. вроде работает.. |
JavaScript однопоточный, поэтому вечный цикл не позволит исполнится чему-либо ещё.
Нужно ловить load у фрейма, да. Цитата:
|
Цитата:
|
Нет, вызов происходит в момент присваивания. Вы же вызываете ctor.
|
| Часовой пояс GMT +3, время: 22:14. |