Как получить URL веб-страницы, которая встраивает другую страницу в iframe в другом домене происхождения - PullRequest
1 голос
/ 01 октября 2009

Веб-страница A встроена в iframe внутри веб-страницы B. A и B находятся в двух разных доменах, и поэтому одна и та же политика происхождения препятствует доступу A к свойствам B следующим образом;

location = window.top.location.href // emits a "Permission denied" error

Есть ли другой способ для А получить URL-адрес Б?

Ответы [ 2 ]

1 голос
/ 01 октября 2009
нет

Нет

0 голосов
/ 04 мая 2010

Если у вас есть контроль над обоими доменами, вы можете попробовать междоменную библиотеку сценариев, такую ​​как EasyXDM , которая обволакивает причуды между браузерами и предоставляет простой в использовании API для взаимодействия в клиентском сценарии различные домены, использующие лучший доступный механизм для этого браузера (например, postMessage , если доступно, другие механизмы, если нет).

Предупреждение: вам нужно иметь контроль над обоими доменами, чтобы заставить его работать (где «контроль» означает, что вы можете размещать статические файлы на обоих из них). Но вам не нужно никаких изменений кода на стороне сервера.

В вашем случае вы бы добавили javascript на одну или обе ваши страницы, чтобы посмотреть location.href, и использовали бы библиотеку для вызова из сценария на одной странице в сценарий на другой.

Еще одна оговорка: здесь есть последствия для безопасности - убедитесь, что вы доверяете сценарию другого домена!

...