我需要使用什么JavaScript从iframe重定向父窗口?

我希望他们点击一个超链接,使用JavaScript或任何其他方法,将父窗口重定向到一个新的URL。


当前回答

如果你想重定向到另一个域,而不需要用户做任何事情,你可以使用属性链接:

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>

注意:javascript的click()命令必须在声明链接之后出现。

其他回答

这将解决痛苦。

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

试着用

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

@MIP是正确的,但是对于更新版本的Safari,你将需要添加沙盒属性(HTML5)来重定向访问iFrame。有一些特定的值可以在它们之间添加一个空格。

参考(你需要滚动): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

Ex:

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

如果你想重定向到另一个域,而不需要用户做任何事情,你可以使用属性链接:

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>

注意:javascript的click()命令必须在声明链接之后出现。

我发现<a href="…" target="_top">link</a>也能工作