web-dev-qa-db-fra.com

Rediriger la fenêtre parente à partir d'une action iframe

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.

295
Click Upvote
window.top.location.href = "http://www.example.com"; 

Comme indiqué précédemment, redirige le parent iframe.

483
MIP

J'ai trouvé que <a href="..." target="_top">link</a> fonctionne aussi

106
Click Upvote
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.

53
Luca Matteis

ou une alternative est la suivante (en utilisant un objet document)

parent.document.location.href = "http://example.com";
15
Real Red.

target="_parent" a très bien fonctionné pour moi. facile et sans tracas!

10
rDroid

@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>
7
Raymond B

Cela résoudra la misère.

<script>parent.location='http://google.com';</script>
3
Ali Haris

Il est possible de rediriger à partir d'un iframe, mais pas d'obtenir des informations du parent.

1
Joris Kok
window.top.location.href = 'index.html';

Cela redirigera la fenêtre principale vers la page d'index. Merci

1
dnts2012

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.

1
Tom Burris

Nous devons utiliser window.top.location.href pour rediriger la fenêtre parente à partir d'une action iframe.

RL de la démo :

0
Faizal

Essayez d'utiliser

window.parent.window.location.href = 'http://google.com'
0
Chirag Gohel