在其他几十个系统上,这种方法工作得很好。但是,在运行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();
});
发布于 2014-11-18 14:45:03
如果页面不是来自与打开它的脚本相同的站点,那么首先提示您是正确的过程。
在您的示例中,域是相同的,因此您可以在两个页面中将document.domain设置为"example.com“,IE11可能会更高兴,但请也看到以下内容:
此外,如果使用id=" submit“的任何内容都是实际的提交按钮,则您也希望通过以下方法取消提交
$("form").on("submit",function(e) {
e.preventDefault();
...
window.close();
});
发布于 2014-11-18 14:08:13
我不知道它在其他系统中是如何工作的,但是这应该是一种正确的方法。
您必须将打开窗口的引用对象传递给close
函数。
$("#submit").click( function () {
//...some sync ajax calls
popUp.close();
});
参见:MDN
https://stackoverflow.com/questions/26995962
复制相似问题