我正在尝试检查我的网站上的窗口是否可以关闭:
if (window.opener && window.opener.closed === false) {
用户可以通过另一个设置window.opener
的窗口访问我的网站。当用户最初使用:window.opener
访问我的网站时,我可以“重置”window.opener = null
。但是,这在IE中不起作用(在下一页上,window.opener
已恢复)。
有没有办法在IE中“重置”window.opener
构造,或者对我的问题进行另一种跨浏览器解决方案?
答案 0 :(得分:1)
我找到了一个不完全类似的解决方案,但它可以用于我的目的。如果开启者来自同一个域,我只想关闭窗口。
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 */ }