【发布时间】:2016-01-21 01:34:16
【问题描述】:
我正在使用 window.open 打开一个弹出窗口并使用 setinterval 函数来等待并刷新背景页面,一旦弹出窗口关闭。 该代码在 Chrome 和 Firefox 中运行良好,但在 IE 中无法运行。
基本上问题是:在 IE 中,它不会等到弹出窗口关闭。弹出窗口打开后,它会立即刷新。 我在 IE 9 和 IE 11 中都看到了这个问题。
有什么解决办法吗?
这是代码:
var url = "/apex/VFP_Add";
var win = window.open(url, "Add" ,"width=600, height=300, scrollbars=yes");
win.moveTo(500, 100);
win.focus();
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
window.location.reload();
}
}, 500);
我在 if(win.closed) 检查之前和检查之后放置警报。对于第一个警报,它显示为 False。在第二个警报中,在“如果检查”之后,它显示为 True。这很奇怪,因为我没有关闭窗口。
【问题讨论】:
-
请说明您遇到问题的 IE 版本。
-
与其定期检查子窗口是否关闭,不如在
onbeforeunload子窗口的事件处理函数中做点什么
标签: javascript internet-explorer