Получить текущий URL от IFRAME - PullRequest
80 голосов
/ 02 июня 2009

Есть ли простой способ получить текущий URL из iframe?

Зритель будет просматривать несколько сайтов. Я предполагаю, что я буду использовать что-то в JavaScript.

Ответы [ 3 ]

138 голосов
/ 02 июня 2009

В целях безопасности вы можете получить URL только в том случае, если содержимое iframe и ссылочный javascript обслуживаются из одного домена. Пока это правда, что-то вроде этого будет работать:

document.getElementById("iframe_id").contentWindow.location.href

Если два домена не совпадают, вы столкнетесь с ограничениями безопасности сценариев межсайтовых ссылок.

См. Также ответы на аналогичный вопрос .

20 голосов
/ 28 октября 2012

Если ваш iframe из другого домена (кросс-домен), другие ответы не помогут вам ... вам просто нужно использовать это:

var currentUrl = document.referrer;

и - вот вам главный URL!

2 голосов
/ 25 октября 2017

Надеюсь, это поможет вам как-то в вашем случае, Я столкнулся с точно такой же проблемой и просто использовал localalstorage для обмена данными между родительским окном и iframe. Итак, в родительском окне вы можете:

localStorage.setItem("url", myUrl);

И в коде, где источник iframe просто получает эти данные из localstorage:

localStorage.getItem('url');

сэкономил мне много времени. Насколько я вижу, единственным условием является доступ к коду родительской страницы. Надеюсь, это кому-нибудь поможет.

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