Redirect parent window from an iframe action

2018-12-31 20:14发布

问题:

What JavaScript do I need to use to redirect a parent window from an iframe?

I want them to click a hyperlink which, using JavaScript or any other method, would redirect the parent window to a new URL.

回答1:

window.top.location.href = \"http://www.example.com\"; 

As stated previously, will redirect the parent iframe.



回答2:

I found that <a href=\"...\" target=\"_top\">link</a> works too



回答3:

window.top.location.href = \"http://example.com\";

window.top refers to the window object of the page at the top of the frames hierarchy.



回答4:

or an alternative is the following (using document object)

parent.document.location.href = \"http://example.com\";


回答5:

target=\"_parent\" worked great for me. easy and hassle free!



回答6:

@MIP is right, but with newer versions of Safari, you will need to add sandbox attribute(HTML5) to give redirect access to the iFrame. There are a few specific values that can be added with a space between them.

Reference(you will need to scroll): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

Ex:

<iframe sandbox=\"allow-top-navigation\" src=\"http://google.com/\"></iframe>


回答7:

It is possible to redirect from an iframe, but not to get information from the parent.



回答8:

This will solve the misery.

<script>parent.location=\'http://google.com\';</script>


回答9:

window.top.location.href = \'index.html\';

This will redirect the main window to the index page. Thanks



回答10:

If you\'d like to redirect to another domain without the user having to do anything you can use a link with the property:

target=\"_parent\"

as said previously, and then use:

document.getElementById(\'link\').click();

to have it automatically redirect.

Example:

<!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>

Note: The javascript click() command must come after you declare the link.



回答11:

Try using

window.parent.window.location.href = \'http://google.com\'


回答12:

Redirect iframe in parent window by iframe in the same parent:

window.parent.document.getElementById(\"content\").src = \"content.aspx?id=12\";