IE提示关闭我创建的弹出窗口

时间:2014-11-18 13:50:09

标签: javascript internet-explorer

在其他几十个系统上,这很好用。但是,在一个运行IE11的特定系统上,在关闭窗口之前会显示确认提示。运行IE11的其他系统不会出现这种情况。

IE中是否有某些设置会导致此问题?或者我还有什么可以在这个特定的系统中引起这种情况?

当用户点击链接时,使用...

打开一个新窗口
$("a#offer").click(function (e) {
    e.preventDefault();
    var popUp = window.open("http://...", "thePopUp", "resizable=yes,height=" + (screen.availHeight-45) + ",width=760,left=" + ((screen.availWidth/2)-380) + ",menubar=no,scrollbars=yes,toolbar=no");
    popUp.focus();
});

然后在新窗口中,当他们点击一个按钮时窗口关闭:

$("#submit").click( function () {
    //...some sync ajax calls
    window.close();
});

enter image description here

2 个答案:

答案 0 :(得分:1)

如果页面不是与打开它的脚本位于同一站点,则首先提示您是正确的过程。

在你的情况下,DOMAIN是相同的,所以你可以在两个页面中将document.domain设置为“example.com”,IE11可能会更开心,但请看到这个:

"Access is denied" JavaScript error when trying to access the document object of a programmatically-created <iframe> (IE-only)

此外,如果id =“submit”的内容是实际提交按钮,您也希望使用

取消提交
$("form").on("submit",function(e) { 
  e.preventDefault();
  ... 
  window.close();
});

答案 1 :(得分:-1)

我不确定它在其他系统中是如何工作的,但这应该是正确的方法。

您必须将已打开窗口的参考对象传递给close函数。

$("#submit").click( function () {
    //...some sync ajax calls
    popUp.close();
});

请参阅:MDN