Получение документа родителей от iFrame - PullRequest
8 голосов
/ 09 ноября 2011

Я видел несколько элегантных решений по извлечению родительского документа из iframe - например, этот .Однако я не могу заставить его работать - и я не думал, что это было возможно из-за проблем с ценными бумагами (междоменный сценарий?)?

Мой вопрос;могу ли я получить доступ к документу родителей изнутри iframe - или это изменилось за последние годы?Если я смогу получить доступ к этому;какие-либо мысли о том, почему я получаю неопределенный при печати parent.document или window.parent.document из содержимого iframe?

1 Ответ

20 голосов
/ 09 ноября 2011

Все еще возможно получить доступ к родительскому элементу из кадра при условии, что домены соответствуют .

Например, посмотрите на эти скрипты:

  • Фрейм хоста: fiddle.jshell.net, родительский хост: fiddle.net Не совпадает = сбой Тест № 1: http://jsfiddle.net/nrRQg/1/
  • Хост кадра: jsfiddle.net, родительский хост: jsfiddle.net ** Совпадения = успех *Тест № 2: http://jsfiddle.net/nrRQg/1/show/

Вы можете получить доступ к родителю через:

window.parent
parent
top          //If the parent is the top-level document
window.top

Переменные parent и top могут быть перезаписаны (обычно не предназначены).Безопаснее использовать window.parent, чтобы быть более безопасным.Кроме того, вы можете заменить window на document.defaultView.

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