Показать сообщение отдельно
  #1 (permalink)  
Старый 30.09.2008, 01:54
Новичок на форуме
Отправить личное сообщение для ivlad Посмотреть профиль Найти все сообщения от ivlad
 
Регистрация: 30.09.2008
Сообщений: 1

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:

Цитата:
Error:
name: ReferenceError
message: Security error: attempted to read protected variable

То есть браузер присекает попытки доступа к свойствам объекта iframe, когда в ифрэйме документ с другого домена.

Примечательно, что в самом этом ифрэйме с другого домета отлично работает код

[javascript]
window.parent.postMessage('data', '*');
[/javascript]

Внимание, вопрос.

Как вызвать postMessage для окна ифрэйма в Opera (в firefox 3 работает, кстати).
Ответить с цитированием