我正在尝试检查我的站点上的窗口是否可以用以下命令关闭:
if (window.opener && window.opener.closed === false) {用户可以通过另一个设置window.opener的窗口访问我的网站。当用户最初访问我的站点时,我可以使用:window.opener = null来“重置”window.opener。然而,这在IE中不起作用(在下一页,window.opener被恢复)。
有没有办法“重置”IE中的window.opener结构,或者我的问题的另一种跨浏览器解决方案?
发布于 2013-03-03 01:41:44
我找到了一个不是完全类似的解决方案,但可以满足我的目的。我只想关闭窗口,如果开启者来自相同的域。
if (window.opener.location.hostname.indexOf(window.location.hostname) > -1) {但是,如果打开程序来自不同的主机,则IE不允许您访问window.opener.location。这实际上工作得很好:
try {
//snippet above
}
catch (error) { /* no action needed; assume different host */ }https://stackoverflow.com/questions/15169233
复制相似问题