Как узнать URL страницы с iframe?

Как узнать URL страницы, на которой находится "моя страница" в iframe?

Дополнительно:

Ответы:

или
document.getElementById("iframe_id").src

https://stackoverflow.com/a/12069199

  • Максим Д. вот только эти методы не будут работать на других доменах из за ограничения политики Same-Origin.
  • Подразумевается "моя страница" в iframe, и я не знаю id фрейма в котором оказалась страница... Нужен скрипт, который при встраивании в iframe на других ресурсах, будет сообщать состояние страницы или адрес.

    Как вариант, выглядит правдоподобно по вашей ссылке следующее решение: var currentUrl = document.referrer;

  • My1Name, да, в большинстве случаев он должен работать, но кажется есть исключения, когда iframe загружен с помощью JS. К тому же возвращается только домен, а не полный URL

    https://stackoverflow.com/a/52399194

  • Михаил Р.,

    вот только эти методы не будут работать на других доменах из за ограничения политики Same-Origin.

    А скрипты на встроенной странице, будут работать? Ajax запросы к серверу и т.п. ?

  • Максим Д.,

    возвращается только домен, а не полный URL

    Этого вполне достаточно. Мне всего-то нужно: не обрабатывать авторизованные запросы со сторонних ресурсов.

  • My1Name,

    А скрипты на встроенной странице, будут работать? Ajax запросы к серверу и т.п. ?

    Если будите слать на тот же домен, где находится iframe - будет работать, а вот если будите слать с неизвестного домена-сервера на другой домен, то на неизвестном домене-сервер это должно быть разрешено в CORS.

  • Михаил Р., для пересылки с неизвестного домена-сервера на другой домен рекомендую использовать window.postMessage.
  • Михаил Р., ничего непонятно, но очень интересно 🙂 Поставлю вопрос иначе: Страница, которая в iframe на другом сайте (домене), будет работать как обычно? - Как ограничить авторизованные запросы к серверу со сторонних ресурсов (с iframe)?
  • My1Name,

    Страница, которая в iframe на другом сайте (домене), будет работать как обычно?

    Если Вы про:

    А скрипты на встроенной странице, будут работать? Ajax запросы к серверу и т.п. ?

    То зависит от CORS "другого домена". Если использовать window.postMessage, то можно обойти это ограничение.

    Как ограничить авторизованные запросы к серверу со сторонних ресурсов (с iframe)?

    CORS, куки, заголовки... в целом это тянет на другой вопрос 😉

  • My1Name, по вашим комментариям, показалось, что вам просто нужно запретить встраивать свою страницу через iframe X-Frame-Options
  • Михаил Р.,

    зависит от CORS "другого домена

    Всё верно. Это его проблемы... Моя задача - узнать URL страницы с фреймом, если страница была встроена в iframe где-то на другом сайте.

  • Михаил Р., это вот: var currentUrl = document.referrer; что вернёт? Или точней, какой адрес будет в переменной currentUrl?
  • My1Name,

    var currentUrl = document.referrer; что вернёт?

    Адрес страницы, которая направила пользователя на текущую страницу.

    Но если рассматривать в контекста iframe, то обычно document.referrer возвращает URL родительской страницы, которая загрузила iframe. Это работает, даже если родительский документ и iframe находятся на разных доменах.

  • Михаил Р., Спасибо!

 

Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

 

    • Как узнать URL страницы с iframe?Есть ответ
    • 08.04.2024
    Ответить

    Для того чтобы узнать URL страницы, которая отображается в iframe, вам нужно использовать свойства объекта iframe. Вот пример кода на JavaScript, который поможет вам получить URL страницы в iframe:

    html

    Get URL from iframe

    // Получаем элемент iframe по его ID
    var iframe = document.getElementById('myIframe');

    // Получаем URL страницы в iframe
    var url = iframe.src;

    // Выводим URL страницы в консоль
    console.log('URL страницы в iframe: ' + url);

    В этом примере мы создаем iframe с идентификатором "myIframe" и указываем ему src атрибут с URL страницы, которую мы хотим отобразить. Затем мы используем JavaScript для получения этого URL с помощью свойства src объекта iframe. Полученный URL мы выводим в консоль.

    Таким образом, вы можете получить URL страницы, которая отображается в iframe, и использовать его по вашему усмотрению.

Оставить комментарий