iframe.contentWindow.postMessage в Opera 9.5
Есть простой html документ, в нём iframe, в котором загружен документ с другого домена:
<html ...> ... <body><iframe src='http://anotherdomain.com'></iframe></body> </html> На dev.opera.com обещают, что следующий код будет работать: [javascript] var iframe = document.getElementsByTagName('iframe')[0]; iframe.contentDocument.postMessage('foo'); [/javascript] Читал, что с версии 9.5 вместо нестандартного contentDocument нужно использовать contentWindow. Пробовал и так и сяк, в обоих случая получаю в error console: Цитата:
То есть браузер присекает попытки доступа к свойствам объекта iframe, когда в ифрэйме документ с другого домена. Примечательно, что в самом этом ифрэйме с другого домета отлично работает код [javascript] window.parent.postMessage('data', '*'); [/javascript] Внимание, вопрос. Как вызвать postMessage для окна ифрэйма в Opera (в firefox 3 работает, кстати). |
А во фрейме listener правильно установлен? Мне кажется в случае оперы они могли спокойно не реализовать обещанное.
|
Листенер, понятно, установлен. Но это и не важно. Проблема то возникает гораздо раньше: в при попытке обратиться к объекту-окну iframe.
[javascript] alert(document.getElemenetsByTagName('iframe')[0].contentWindow) [/javascript] приводит к той-же ошибке |
Там так хитро написано "cross-document" и нигде ни слова о "cross-domain", попробуйте с одним доменом - будет работать?
|
Часовой пояс GMT +3, время: 14:00. |