Який JavaScript мені потрібно використовувати для перенаправлення батьківського вікна з iframe?
Я хочу, щоб вони натиснули гіперпосилання, яке, використовуючи JavaScript або будь-який інший метод, перенаправить батьківське вікно на нову URL-адресу.
Який JavaScript мені потрібно використовувати для перенаправлення батьківського вікна з iframe?
Я хочу, щоб вони натиснули гіперпосилання, яке, використовуючи JavaScript або будь-який інший метод, перенаправить батьківське вікно на нову URL-адресу.
Відповіді:
window.top.location.href = "http://www.example.com";
Як було сказано раніше, буде переспрямовано батьківський iframe.
sandbox
» - developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe У sandbox
запобігає атрибут JavaScript робить певні дії в плаваючому фреймі на основі у заданому списку дозволених дій. allow-top-navigation
Властивість є одним з дій , які можуть дозволити в білому списку, що дозволяє цей код роботі. Якщо sandbox
атрибут є абсцесом, всі дії дозволені. Якщо він присутній і порожній рядок, всі дії відмовляються.
Я виявив, що це <a href="..." target="_top">link</a>
теж працює
window.top.location.href = "http://example.com";
window.top
відноситься до віконного об'єкта сторінки у верхній частині ієрархії кадрів.
або альтернативою є наступне (використовуючи документ-об'єкт)
parent.document.location.href = "http://example.com";
parent.location.href = ...
. developer.mozilla.org/uk/document.location
@MIP правильно, але для нових версій Safari вам потрібно буде додати атрибут пісочниці (HTML5), щоб надати перенаправлення доступу до iFrame. Є кілька конкретних значень, які можна додати з пробілом між ними.
Довідка (вам потрібно буде прокрутити): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
Наприклад:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
sandbox
атрибут дозволяє отримати додатковий набір обмежень для вмісту в <iframe>
. Значення sandbox
властивості знімає певні обмеження. Тому будьте уважні, використовуючи цю функцію. w3schools.com/tags/att_iframe_sandbox.asp
Якщо ви хочете переспрямувати на інший домен, без того, щоб користувач нічого робив, ви можете скористатися посиланням із властивістю:
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>
Примітка. Команда click () повинна надходити після оголошення посилання.
window.top.location.href = 'index.html';
Це перенаправить головне вікно на індексну сторінку. Дякую
Ми повинні використовувати window.top.location.href для перенаправлення батьківського вікна від дії iframe.
Перенаправити iframe у батьківському вікні на iframe в тому ж батьківському:
window.parent.document.getElementById("content").src = "content.aspx?id=12";
IFrame
, теж. Оскільки прийнята відповідь стосується верхнього вікна, пропоную вам трохи змінити своє запитання.