Ответ 1
попробуйте следующее:
var referrer = document.referrer;
alert(referrer);
У меня есть страница, которая отображается в iframe.
Мне нужно получить parent.location.url с js с этой страницы (дочерняя страница).
Оба сайта находятся в разных доменах.
Я пытаюсь:
оповещения (parent.location.url)
Но я получаю эту ошибку:
Разрешение отклонено для http://parentdomain, чтобы получить свойство Location.URL из http://childdomain.
???? Возможно ли это?
попробуйте следующее:
var referrer = document.referrer;
alert(referrer);
То, что вы пытаетесь сделать, само по себе невозможно. Если вы не контролируете вызов родительской страницы дочерней страницы. Если вы это сделаете, вы можете вызвать дочернюю страницу с инструкцией get в URL-адресе родительской страницы. Итак, если ваша родительская страница http://parentpage.com, то здесь вы должны вызвать iFrame.
<iframe src='http://childpage.com/?parent=http://parentpage.com' />
Затем все, что вам нужно сделать на дочерней странице, чтобы получить ссылку, получает строку с
window.location.search //not sure of browser compatibility with this
и извлечь URL-адрес родительской страницы, извлекая его из этой строки. Я бы дал более подробную информацию, но я даже не уверен в первом вопросе, который у меня был.
Вы пробовали что-то вроде:
alert(window.top.location.href);
Работает только, если родительская страница и iframe находятся в одном домене. Если они не находятся в одном домене, вы можете попробовать передать местоположение через src, как предположил Мэдисон Уильямс.
Вероятно, именно поэтому вы получаете "Permission denied..."
Вы сможете найти его так, и все браузеры должны иметь возможность его поддерживать:
query = window.parent.location.search.substring(1);
Вы не должны получать ошибки разрешения с этим, но я могу ошибаться.
Try:
var pathname = window.parent.location.href
Используйте postMessage для передачи данных между окнами. Это немного klunky, но требуется, когда окна общаются по истокам.