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
希望这会有所帮助!
弹出窗口是供应商的外部网上商店,所以我无法控制,并且不能添加代码以查看弹出窗口是否关闭。这一切都需要在我身边完成 – SC92