Как узнать URL страницы с iframe?
Как узнать URL страницы, на которой находится "моя страница" в iframe?
Дополнительно:
Ответы:
document.getElementById("iframe_id").contentWindow.location.href |
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 находятся на разных доменах.
- Михаил Р., Спасибо!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы узнать 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, и использовать его по вашему усмотрению.