Как узнать URL страницы, на которой находится "моя страница" в iframe?
Дополнительно:
Содержание
Ответы:
|
1 |
document.getElementById("iframe_id").contentWindow.location.href |
или
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 находятся на разных доменах.
- Михаил Р., Спасибо!
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для того чтобы узнать URL страницы, которая отображается в iframe, вам нужно использовать свойства объекта iframe. Вот пример кода на JavaScript, который поможет вам получить URL страницы в iframe:
html// Получаем элемент 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, и использовать его по вашему усмотрению.