Показать сообщение отдельно
  #1 (permalink)  
Старый 10.05.2011, 15:13
Новичок на форуме
Отправить личное сообщение для luethus Посмотреть профиль Найти все сообщения от luethus
 
Регистрация: 12.11.2010
Сообщений: 7

браузер не дает получить содержимое iframe после установки document.domain
1. в основном документе, скажем, где-то в начале, есть такой код:
document.domain = 'домен';


это необходимо для одной задачи, не важно какой, удалять нельзя.

2. динамически создается iframe для аяксовой загрузки файла на сервер (в iframe добавляется форма с файлом и сабмитится).
сервер этот же, т.е. домен, протокол и порт iframe-а будут совпадать с документом.

так вот, после submit-а формы и загрузки iframe-а его содержимое нельзя получить - браузер ругается (хром ругается, остальные вообще ничего не выводят, просто не работает):

Unsafe JavaScript attempt to access frame with URL [url]http://test.localhost/bla-bla[/url] from frame with URL [url]http://test.localhost/bla-bla[/url]. Domains, protocols and ports must match.


как выяснилось, это из-за того, что document.domain был переопределен (даже пусть так - document.domain = document.domain).

что можно сделать, как получить содержимое iframe?

P.S. после сабмита формы в iframe загрузится не html-документ, из которого я мог бы так же установить document.domain, а данные в формате json.

Последний раз редактировалось luethus, 10.05.2011 в 15:15.
Ответить с цитированием