检查window.closed是否还有重定向到另一个URL/Host

Ber*_*own 6 html javascript

我有代码来检查窗口是否关闭.它工作,如果我留在同一页面.
使用Internet Explorer,如果我单击一个然后重定向到另一个站点的链接,那么即使WINDOW实际上从未关闭,window.closed也会返回true.

我这样做:

w = window.open("mypage.html");

var t = setInterval(function() { 
  if (!w) {  alert('a'); } 
  if (w.closed) { alert('b'); } 
   if (!w || w.closed) { 
     clearInterval(t); hide('mainShadow'); 
   }
}, 800); 
Run Code Online (Sandbox Code Playgroud)

在"mypage.html"中,有一个指向其他网站的链接.当走向另一边时,w.closed返回true.

在IE中有一个很好的方法来真正检查窗口是否关闭.
合同并不真正令人满意,因为窗口从未真正关闭过.

此代码适用于Chrome,而不适用于IE9

eh9*_*eh9 2

合同并没有真正得到满足,因为窗口从未真正关闭。

这似乎就是混乱的根源。JavaScript-in-a-browser 中的对象window是指显示文档的窗口,如某些浏览器窗口中所体现的那样,但它并不是指浏览器本身看到的那个窗口。单个浏览器窗口也不是与单个window实例关联的。因此,window可以关闭实例,因为它不再显示。这是准确的,因为window严格来说,该元素不是关于window作为窗口外部视图的浏览器实体,而不是关于window包含代码的文档所看到的窗口内部视图的 JavaScript 对象。

简而言之,我不相信有办法在网页内执行此操作,因为可见性的外部范围(对象)window并不引用您想要操作的实际对象。