[英]IE: Unset window.opener
我正在尝试检查是否可以通过以下方式关闭我网站上的窗口:
if (window.opener && window.opener.closed === false) {
用户可以通过另一个设置window.opener
窗口访问我的网站。 当用户最初使用以下方式访问我的网站时,我可以“重置” window.opener
: window.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.