LINUX.ORG.RU

[javascript] браузер не дает получить содержимое iframe после установки document.domain

 


0

2

1. в основном документе, скажем, где-то в начале, есть такой код:

document.domain = 'домен';


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

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

так вот, после submit-а формы и загрузки iframe-а его содержимое нельзя получить — браузер ругается (хром ругается, остальные вообще ничего не выводят, просто не работает):
Unsafe JavaScript attempt to access frame with URL test.localhost/bla-bla from frame with URL test.localhost/bla-bla. Domains, protocols and ports must match.

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

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

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

Ответ на: комментарий от SOmni

мм...
в общем, после загрузки iframe (по событию onload) я читаю ответ, который сервер отдает в формате json.

ты предлагаешь пихать туда html со скриптом, который поменяет document.domain и потом напишет вместо всего html-а json?) идея, в принципе)

luethus
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.