从子窗口发出访问父URL的问题

时间:2013-09-25 11:21:01

标签: javascript

假设父窗口有abc.xyz.com网址,我正在使用以下窗口打开子窗口:window.top.open

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

现在,如果用户单击父窗口中的链接,导航到def.xyz.com,则window.opener.location.href将提供“Permission Denied”,window.opener.closed将返回true。 (在儿童剧本中)

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

我如何知道父母已导航到xyz.com或其他某个域?

2 个答案:

答案 0 :(得分:0)

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

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

您不必完全更改位置,也只能向网址添加hash,以便从 child.html 更改为 child.html#parentHasChanged
如果您希望在这两个窗口之间进行更完整的通信,我建议您使用jQuery postMessage Plugin。它允许您在两个Windows或框架之间发送和接收消息,并且还可以跨域

答案 1 :(得分:0)

这样的事情:

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

HERE引用。 This也可以提供帮助。