Как изменить домен текущего документа? - PullRequest
0 голосов
/ 21 октября 2011

У меня есть iframe в document из другого домена.По этой причине браузер блокирует мне доступ к внутреннему фрейму по этой причине.Могу ли я изменить оба домена на одно и то же значение?Я попытался document.domain = 'targetdomain', но выброшено исключение DOM.

1 Ответ

4 голосов
/ 21 октября 2011

Домен iframe - это домен URL-адреса, загруженного в iframe.

Вы можете изменить iframe.src на другой документ, если вам нравится другой домен, но вы не можете изменить домен самого iframe, сохраняя тот же документ загруженным, чтобы дать вам доступ к содержимому, как это было бы быть тем самым нарушением безопасности, от которого политика того же происхождения защищает.

Единственным исключением при смене домена является использование поддоменов. Вы можете прочитать об этом здесь .

Таким образом, если один из этих двух доменов не является поддоменом другого, вы не можете получить доступ к одному из другого.

В последних браузерах существует схема передачи сообщений HTML5, которая позволяет двум взаимодействующим фреймам / окнам из разных доменов обмениваться сообщениями друг с другом. Ключевым моментом здесь является то, что оба фрейма / окна должны взаимодействовать (это означает, что вы должны иметь контроль кода над обоими фреймами / окнами). Вы можете прочитать больше об этом здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...