Javascript 从iframe操作重定向父窗口

Javascript 从iframe操作重定向父窗口,javascript,iframe,dhtml,Javascript,Iframe,Dhtml,我需要使用什么JavaScript从iframe重定向父窗口 我希望他们单击一个超链接,使用JavaScript或任何其他方法,将父窗口重定向到一个新的URL window.top.location.href = "http://example.com"; window.top指框架层次结构顶部页面的窗口对象 window.top是指框架层次结构顶部页面的窗口对象。或以下选项(使用文档对象) 或者另一种方法是(使用文档对象) 我发现也有效我发现也有效 window.top.location.h

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

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

window.top.location.href = "http://example.com";
window.top
指框架层次结构顶部页面的窗口对象


window.top
是指框架层次结构顶部页面的窗口对象。

或以下选项(使用文档对象)


或者另一种方法是(使用文档对象)

我发现
也有效我发现
也有效

window.top.location.href = "http://www.example.com"; 
将重定向最顶端的父Iframe

window.parent.location.href = "http://www.example.com"; 
将重定向父iframe

将重定向最顶端的父Iframe

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

将重定向父iframe。

可以从iframe重定向,但不能从父iframe获取信息。

可以从iframe重定向,但不能从父iframe获取信息。

这将解决问题

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

这将解决痛苦

<script>parent.location='http://google.com';</script>
parent.location='1〕http://google.com';
尝试使用

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

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

按同一父窗口中的iframe重定向父窗口中的iframe:

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

按同一父窗口中的iframe重定向父窗口中的iframe:

window.parent.document.getElementById("content").src = "content.aspx?id=12";
这将把主窗口重定向到索引页。 谢谢

这将把主窗口重定向到索引页。
谢谢

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

参考(您需要滚动):

例:


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

参考(您需要滚动):

例:


target=“\u parent”
对我来说非常有用。轻松无忧

target=“\u parent”
对我来说非常有用。轻松无忧

如果您希望重定向到另一个域,而用户无需执行任何操作,则可以使用该属性的链接:

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>

document.getElementById('link')。单击();

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

如果您希望重定向到另一个域而用户无需执行任何操作,则可以使用具有以下属性的链接:

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>

document.getElementById('link')。单击();

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

我们必须使用window.top.location.href从iframe操作重定向父窗口


我们必须使用window.top.location.href从iframe操作重定向父窗口


当前页面-window.location.href=“您的url在此”

对于父页面-window.top.location.href=“此处的url”

从HTML

<a href="http://someurl" target="_top">link</a>

当前页面-window.location.href=“您的url在此”

对于父页面-window.top.location.href=“此处的url”

从HTML

<a href="http://someurl" target="_top">link</a>


window.top.location.href属性无法从Iframe更新,它抛出访问被拒绝的执行选项。它只能在测试时执行localhost@Ummar:我想补充一点,当iframe的父级具有相同的域、相同的端口(相同的源策略)时,它会在它们不同时抛出拒绝访问异常,以防止安全性breaches@Ummar这不是事实,以防万一。您可以更改window.top.location.href。你就是看不懂。在chrome.Great jsfiddle@Parris中工作,这为我解决了:)我怀疑一些怀疑者可能在iframe中尝试过类似的东西:window.top.location.href=window.top.location.href;无法从Iframe更新window.top.location.href属性,它抛出拒绝访问的执行选项。它只能在测试时执行localhost@Ummar:我想补充一点,当iframe的父级具有相同的域、相同的端口(相同的源策略)时,它会在它们不同时抛出拒绝访问异常,以防止安全性breaches@Ummar这不是事实,以防万一。您可以更改window.top.location.href。你就是看不懂。在chrome.Great jsfiddle@Parris中工作,这为我解决了:)我怀疑一些怀疑者可能在iframe中尝试过类似的东西:window.top.location.href=window.top.location.href;该解决方案是特定于Firefox的。应该只使用
parent.location.href=…
。这个解决方案对我不起作用。windows 10中的Chrome显示“重定向被阻止”。如果用户不允许,此解决方案将无法工作,因为该解决方案是特定于Firefox的。应该只使用
parent.location.href=…
。这个解决方案对我不起作用。windows 10中的Chrome显示“重定向被阻止”。如果用户不允许,此解决方案将无法工作父窗口本身也可以是
IFrame
。由于接受的答案指向顶部窗口,我建议您稍微更改一下问题。父窗口本身也可以是
IFrame
。由于接受的答案位于顶部窗口,我建议您稍微更改一下您的问题。虽然选择的答案是正确的,但我认为这是一个更符合问题意图的答案。我同意这是最好的解决方案,但是OP特别要求使用javascript。另一方面,OP指定它应该通过锚触发-我看不到一个场景中有一个wo