JavaScript的Internet Explorer不会检测window.closed

问题描述:

我有这个JavaScript代码,当浏览器检测到用户关闭弹出式窗口时运行。它适用于浏览器firefox,opera,chrome,但是我在IE浏览器中遇到了一个错误(错误在荷兰语中,所以我试图翻译)。它确实打开了一个弹出窗口,但它也会在Internet Explorer中打开一个新选项卡,而其他浏览器则不会这样。JavaScript的Internet Explorer不会检测window.closed

这是JS代码。该错误是给上线

无法关闭未定义引用的属性或检索 引用为空值

function hyperLink(link) {  
     var newWindow = window.open(link.href, "Hyperlink", "status=yes,toolbar=yes,scrollbars=yes,resizable=yes,width=" + screen.width/1.5 + ",height=" + screen.height/1.5 + ""); 

     var interval = window.setInterval(function() {    
      if (newWindow.closed !== false) // for opera 
      {     
       $.ajax({ 
        url: "index.php?route=extension/module/filter_product/getSupplierName", 
        type: "POST", 
        data: {supplier_name : link.name}, 
        success: function(result) { 
         // your success handler 
         /*console.log("success"); 
         console.log(result);*/ 
        } 
       }); 

       window.clearInterval(interval); 
      } 
     }, 500);  
} 

HTML代码:

<div class="col-md-3 text-center hyperlink-image"> 
    <a href="<?php echo $supplier['href']; ?>" onclick="hyperLink(this)" target="Hyperlink" name="<?php echo $supplier['name']; ?>"> 
     <img src="<?php echo $supplier['thumb']; ?>" alt="<?php echo $supplier['name']; ?>"/> 
    </a> 
</div> 

这是一个已知的IE错误,你可以在下面给出的链接中找到更多的信息和解决方法。

https://support.microsoft.com/en-us/help/241109/bug-window-closed-property-returns-incorrect-values

希望这会有所帮助!

+0

弹出窗口是供应商的外部网上商店,所以我无法控制,并且不能添加代码以查看弹出窗口是否关闭。这一切都需要在我身边完成 – SC92