Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   данные из кроссдоменного IFRAME (https://javascript.ru/forum/misc/5993-dannye-iz-krossdomennogo-iframe.html)

dionis 06.11.2009 09:09

данные из кроссдоменного IFRAME
 
Добрый день.

1) существует моя страничка на котором находится IFRAME
2) в этом IFRAME открыт сторонний сайт (другой домен) (но с моим javaScript'ом)
3) как мне получить данные на мою страничку из этого IFRAME?

прочитал статью про кросдоменный обмен вроде понравилось и всё понятно http://javascript.com.ua/ajax/cross-domain-scripting
но у меня следующая строчка:

var data = frame.contentWindow.location.hash;

выдаёт Permission denied, мне очень нужен маленький пример который бы показал как работет XhrIframeProxy, в частности как получить данные из IFRAME?
То есть меня интересует именно передача данных между IFRAMe'ом и родителем
FF 3.5

Спасибо за внимение

Kolyaj 06.11.2009 09:53

https://developer.mozilla.org/en/DOM/window.postMessage

dionis 06.11.2009 12:30

Спасибо, а IE8 стандартами как обычно не обременён? если чтонибуть более универсальное? Как я понимаю с момента написания статьи про XhrIframeProxy дыра с передачей данных через contentWindow.location.hash пофиксена и ей не воспользоваться больше.

Kolyaj 06.11.2009 12:43

Универсального нет, конкретная реализация зависит от задачи с точностью до мелочей.

dionis 06.11.2009 12:50

Спасибо большое, придется взять решение с отправкой данных со странички которая открыта в ифрейме а по событию onLoad базовая страничка будет выполнять действие

dionis 07.11.2009 09:59

Ещё раз спасибо, действительно window.postMessage замечательно подходит для обмена данными между кроссдоменным IFRAME и родительским окном и работает в FF 3.5, IE7, IE 8, так что всем советую :)

qwert_ukg 15.09.2012 14:21

Цитата:

Сообщение от dionis (Сообщение 34786)
Ещё раз спасибо, действительно window.postMessage замечательно подходит для обмена данными между кроссдоменным IFRAME и родительским окном и работает в FF 3.5, IE7, IE 8, так что всем советую :)

а можно пример кода, у меня вот получается только в iframe данные слать, а вот из него не могу получить(((

qwert_ukg 15.09.2012 15:34

разобрался) для объекта parent нужно юзать метод postMessge


Часовой пояс GMT +3, время: 23:23.