Есть простой 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:
Цитата:
|
Error:
name: ReferenceError
message: Security error: attempted to read protected variable
|
То есть браузер присекает попытки доступа к свойствам объекта iframe, когда в ифрэйме документ с другого домена.
Примечательно, что в самом этом ифрэйме с другого домета отлично работает код
[javascript]
window.parent.postMessage('data', '*');
[/javascript]
Внимание, вопрос.
Как вызвать postMessage для окна ифрэйма в Opera (в firefox 3 работает, кстати).