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, en utilisant JavaScript ou toute autre méthode, redirigerait la fenêtre parente vers une nouvelle URL.
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, en utilisant JavaScript ou toute autre méthode, redirigerait la fenêtre parente vers une nouvelle URL.
Réponses:
window.top.location.href = "http://www.example.com";
Comme indiqué précédemment, redirigera l'iframe parent.
sandbox
" - developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe L' sandbox
attribut empêche javascript de prendre certaines actions dans un iframe basé sur une liste blanche donnée d'actions autorisées. La allow-top-navigation
propriété est l'une des actions que vous pouvez activer dans la liste blanche, ce qui permet à ce code de fonctionner. Si l' sandbox
attribut est absent, toutes les actions sont autorisées. Si elle est présente et une chaîne vide, toutes les actions sont refusées.
J'ai trouvé que ça <a href="..." target="_top">link</a>
marche aussi
window.top.location.href = "http://example.com";
window.top
fait référence à l'objet fenêtre 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";
parent.location.href = ...
. developer.mozilla.org/en/document.location
target="_parent"
a très bien fonctionné pour moi. facile et sans tracas!
@MIP a raison, mais avec les nouvelles versions de Safari, vous devrez ajouter l'attribut sandbox (HTML5) pour donner un accès de redirection à l'iFrame. Il y a quelques valeurs spécifiques qui 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>
sandbox
attribut active un ensemble supplémentaire de restrictions pour le contenu dans le <iframe>
. La valeur de la sandbox
propriété supprime des restrictions particulières. Attention donc à utiliser cette fonctionnalité. w3schools.com/tags/att_iframe_sandbox.asp
Si vous souhaitez rediriger vers un autre domaine sans que l'utilisateur n'ait rien à faire, vous pouvez utiliser un lien avec la propriété:
target="_parent"
comme indiqué précédemment, puis utilisez:
document.getElementById('link').click();
pour qu'il redirige automatiquement.
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 venir après avoir déclaré le lien.
Essayez d'utiliser
window.parent.window.location.href = 'http://google.com'
parent.location = 'url'
window.top.location.href = 'index.html';
Cela redirigera la fenêtre principale vers la page d'index. Merci
Nous devons utiliser window.top.location.href pour rediriger la fenêtre parente d'une action iframe.
Rediriger iframe dans la fenêtre parent par iframe dans le même parent:
window.parent.document.getElementById("content").src = "content.aspx?id=12";
IFrame
. Étant donné que la réponse acceptée concerne la fenêtre supérieure , je vous suggère de modifier un peu votre question.