1

假设父窗口有 abc.xyz.com url,并且我正在使用以下命令打开一个子窗口:window.top.open

我正在使用 window.opener 在子窗口中获取父窗口对象,并使用 window.opener.location.href 轮询父窗口 url。

现在,如果用户单击父窗口中的链接,该链接导航到 def.xyz.com,则 window.opener.location.href 给出“权限被拒绝”并且 window.opener.closed 返回 true。(在子脚本中)

如果父窗口不在 xyz.com 内,我需要更改我的子窗口

我如何知道父级导航到 xyz.com 或其他域?

4

2 回答 2

0

您可以在窗口中添加一些 javascript,以在其 URL 更改时修改子窗口。使用该window.onunload事件可以完成这项工作:

window.onunload=function(){
    childWindow.location.href = 'parentURLChanged.html';
};

除了完全更改位置,您还可以只将 a 添加hash到 URL 中,这样它就会从child.html更改为child.html#parentHasChanged
如果您想在这两个窗口之间进行更完整的通信,我建议您使用jQuery postMessage 插件。它允许您在两个 Windows 或框架之间发送和接收消息,也可以跨域工作。

于 2013-09-25T11:30:27.113 回答
0

像这样的东西:

query = window.parent.location.search.substring(1)

这里引用。这个也可以提供帮助。

于 2013-09-25T11:36:00.180 回答