0

我正在尝试检查是否可以关闭我网站上的窗口:

if (window.opener && window.opener.closed === false) {

用户可以通过另一个设置window.opener. window.opener当用户最初使用以下方式访问我的网站时,我可以“重置” : window.opener = null. 但是,这在 IE 中不起作用(在下一页,window.opener已恢复)。

有没有办法“重置” window.openerIE 中的构造,或者我的问题的另一种跨浏览器解决方案?

4

1 回答 1

1

我找到了一个不完全类似的解决方案,但可以满足我的目的。如果开启者来自同一个域,我只想关闭窗口。

if (window.opener.location.hostname.indexOf(window.location.hostname) > -1) {

window.opener.location但是,如果打开器来自不同的主机,则IE 不允许您访问。这实际上效果很好:

try {
    //snippet above
}
catch (error) { /* no action needed; assume different host */ }
于 2013-03-02T17:41:43.870 回答