«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу получить URL-адрес родительской страницы из iFrame на другом поддомене?

Как я могу получить URL-адрес родительской страницы из iFrame на другом поддомене?

Опубликовано 18 ноября 2024 г.
Просматривать:559

How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

Доступ к родительскому URL-адресу из iFrame: ограничения и обходные пути

Доступ к URL-адресу родительского фрейма из iFrame может оказаться сложной задачей, особенно если iFrame расположен в другом субдомене. Это связано с ограничениями безопасности, налагаемыми мерами предотвращения межсайтового скриптинга (XSS).

При доступе к iFrame из того же домена и поддомена, что и родительский фрейм, доступ к местоположению родительского фрейма должен быть простым с использованием таких выражений, как родительский .document.location или родительское.окно.location. Однако, как подчеркнул пользователь, этот подход не работает, если iFrame находится в другом субдомене.

Чтобы дополнительно проиллюстрировать этот момент, рассмотрим приведенный пример, где pageA.html размещен на http://www.mysite. .com/ и pageB.html (iFrame) размещаются на http://qa-www.mysite.com/. Попытка получить URL-адрес родительского объекта из pageB.html приведет к ошибке отказа в доступе. Это подтверждает, что на поддомены также распространяются ограничения на межсайтовое выполнение сценариев.

Хотя прямой доступ к родительскому URL-адресу в этих обстоятельствах запрещен, существует обходной путь, который можно использовать. Чтобы получить URL-адрес родительского фрейма, можно использовать следующий код JavaScript:

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

Примечание:

  • window.parent.location позволяет избежать ошибки безопасности, вызванной доступом к свойству href (window.parent. location.href).
  • document.referrer относится к URI страницы, связанной с iFrame. Это может не вернуть содержащий документ, если местоположение iFrame было определено другим источником.
  • document.location ссылается на URL-адрес документа, которым в данном случае является iFrame. Если window.location и window.parent.location идентичны, href iFrame совпадает с href родительского элемента.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3