繁体   English   中英

IE:未设置window.opener

[英]IE: Unset window.opener

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

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

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

有没有一种方法可以在IE中“重置” window.opener构造,或者是一般情况下解决我的问题的另一个跨浏览器解决方案?

我发现了一个不完全相似的解决方案,但可以满足我的目的。 如果启动器来自同一域,我只想关闭窗口。

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 */ }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM