Есть ли простой способ получить текущий URL из iframe?
Зритель будет проходить через несколько сайтов. Я предполагаю, что я буду использовать что-то в javascript.
Есть ли простой способ получить текущий URL из iframe?
Зритель будет проходить через несколько сайтов. Я предполагаю, что я буду использовать что-то в javascript.
По соображениям безопасности вы можете получить только URL-адрес до тех пор, пока содержимое iframe и ссылка на javascript не будут отправлены из одного домена. Пока это правда, что-то вроде этого будет работать:
document.getElementById("iframe_id").contentWindow.location.href
Если два домена несовместимы, вы столкнетесь с ограничениями на использование скриптов для ссылок на сайты.
См. также ответы на аналогичный вопрос.
Если ваш iframe из другого домена (перекрестный домен), другие ответы не помогут вам... вам просто нужно будет использовать это:
var currentUrl = document.referrer;
и - здесь у вас есть главный url!
Надеюсь, это поможет некоторым, как в вашем случае, Я страдал одной и той же проблемой и просто использовал localstorage для обмена данными между родительским окном и iframe. Поэтому в родительском окне вы можете:
localStorage.setItem("url", myUrl);
И в коде, где источник iframe просто получает эти данные из localstorage:
localStorage.getItem('url');
Сохранял меня много времени. Насколько я вижу, единственным условием является доступ к исходному коду страницы. Надеюсь, это поможет кому-то.
Если вы находитесь в контексте iframe,
ты мог бы сделать
const currentIframeHref = new URL(document.location.href);
const urlOrigin = currentIframeHref.origin;
const urlFilePath = decodeURIComponent(currentIframeHref.pathname);
Если вы находитесь в родительском окне/фрейме, то вы можете использовать fooobar.com/info/85689/... ответ, который
document.getElementById("iframe_id").contentWindow.location.href