Quel JavaScript dois-je utiliser pour rediriger une fenêtre parent à partir d'un iframe?
Je veux qu'ils cliquent sur un lien hypertexte qui, à l'aide de JavaScript ou de toute autre méthode, redirigerait la fenêtre parente vers une nouvelle URL.
window.top.location.href = "http://www.example.com";
Comme indiqué précédemment, redirige le parent iframe.
J'ai trouvé que <a href="..." target="_top">link</a>
fonctionne aussi
window.top.location.href = "http://example.com";
window.top
fait référence à l'objet window de la page en haut de la hiérarchie des cadres.
ou une alternative est la suivante (en utilisant un objet document)
parent.document.location.href = "http://example.com";
target="_parent"
a très bien fonctionné pour moi. facile et sans tracas!
@MIP a raison, mais avec les versions plus récentes de Safari, vous devrez ajouter un attribut sandbox (HTML5) pour autoriser la redirection vers l’iFrame. Quelques valeurs spécifiques peuvent être ajoutées avec un espace entre elles.
Référence (vous devrez faire défiler): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
Ex:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
Cela résoudra la misère.
<script>parent.location='http://google.com';</script>
Il est possible de rediriger à partir d'un iframe, mais pas d'obtenir des informations du parent.
window.top.location.href = 'index.html';
Cela redirigera la fenêtre principale vers la page d'index. Merci
Si vous souhaitez rediriger vers un autre domaine sans que l'utilisateur ait à faire quoi que ce soit, vous pouvez utiliser un lien avec la propriété:
target="_parent"
comme dit précédemment, puis utilisez:
document.getElementById('link').click();
l'avoir automatiquement rediriger.
Exemple:
<!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>
Remarque: la commande javascript click () doit être fournie après la déclaration du lien.
Nous devons utiliser window.top.location.href pour rediriger la fenêtre parente à partir d'une action iframe.
Essayez d'utiliser
window.parent.window.location.href = 'http://google.com'