Какой JavaScript мне нужно использовать для перенаправления родительского окна из iframe?
Я хочу, чтобы они щелкнули гиперссылку, которая с помощью JavaScript или любого другого метода перенаправила бы родительское окно на новый URL-адрес.
Какой JavaScript мне нужно использовать для перенаправления родительского окна из iframe?
Я хочу, чтобы они щелкнули гиперссылку, которая с помощью JavaScript или любого другого метода перенаправила бы родительское окно на новый URL-адрес.
window.top.location.href = "http://www.example.com";
Перенаправит самый верхний родительский iframe.
window.parent.location.href = "http://www.example.com";
Перенаправит родительский iframe.
Unsafe JavaScript attempt to initiate navigation for frame with URL 'http://jsfiddle.net/ppkzS/' from frame with URL 'http://www.parrisstudios.com/tests/iframe_redirect.html'. The frame attempting navigation of the top-level window is sandboxed, but the 'allow-top-navigation' flag is not set.
- person xhg; 20.03.2017
sandbox
- developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe Атрибут sandbox
запрещает javascript выполнять определенные действия в iframe на основе заданного белого списка разрешенных действий. Свойство allow-top-navigation
- это одно из действий, которое вы можете включить в белом списке, что позволяет этому коду работать. Если атрибут sandbox
отсутствует, все действия разрешены. Если он присутствует и пустая строка, все действия запрещены.
- person Marcus Harrison; 03.07.2017
The frame attempting navigation is targeting its top-level window, but is neither same-origin with its target nor has it received a user gesture.
- person joseantgv; 14.09.2018
but is neither same-origin with its target
- person joseantgv; 07.01.2019
Я обнаружил, что <a href="..." target="_top">link</a>
тоже работает
window.top.location.href = "http://example.com";
window.top
относится к оконному объекту страницы наверху иерархии фреймов.
target="_parent"
отлично поработал для меня. легко и без проблем!
или альтернативой является следующее (с использованием объекта документа)
parent.document.location.href = "http://example.com";
parent.location.href = ...
. developer.mozilla.org/en/document.location
- person kay; 13.07.2012
@MIP прав, но с более новыми версиями Safari вам нужно будет добавить атрибут песочницы (HTML5), чтобы предоставить перенаправленный доступ к iFrame. Есть несколько конкретных значений, которые можно добавить через пробел.
Ссылка (вам нужно будет прокрутить): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
Ex:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
sandbox
включает дополнительный набор ограничений для содержимого в <iframe>
. Значение свойства sandbox
снимает определенные ограничения. Так что будьте осторожны при использовании этой функции. w3schools.com/tags/att_iframe_sandbox.asp
- person gitaarik; 18.04.2019
Это разрешит страдания.
<script>parent.location='http://google.com';</script>
Если вы хотите перенаправить на другой домен без каких-либо действий со стороны пользователя, вы можете использовать ссылку со свойством:
target="_parent"
как было сказано ранее, а затем используйте:
document.getElementById('link').click();
чтобы он автоматически перенаправлял.
Пример:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<a id="link" target="_parent" href="outsideDomain.html"></a>
<script type="text/javascript">
document.getElementById('link').click();
</script>
</body>
</html>
Примечание. Команда javascript click () должна появляться после объявления ссылки.
Можно перенаправить из iframe, но не получить информацию от родителя.
Для текущей страницы - window.location.href = Ваш URL здесь;
Для родительской страницы - window.top.location.href = Ваш URL здесь;
Из HTML
<a href="http://someurl" target="_top">link</a>
Попробуйте использовать
window.parent.window.location.href = 'http://google.com'
parent.location = 'url'
- person grilly; 12.05.2016
window.top.location.href = 'index.html';
Это перенаправит главное окно на страницу индекса. Спасибо
Мы должны использовать window.top.location.href для перенаправления родительского окна из действия iframe.
Перенаправить iframe в родительском окне на iframe в том же родителе:
window.parent.document.getElementById("content").src = "content.aspx?id=12";
IFrame
. Поскольку принятый ответ относится к верхнему окну, я предлагаю вам немного изменить свой вопрос. - person Ron Klein   schedule 10.10.2012