gpt4 book ai didi

Javascript SetInterval 在 IE 中不起作用

转载 作者:行者123 更新时间:2023-12-03 08:33:32 26 4
gpt4 key购买 nike

我正在使用 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.close) 检查之前和检查之后放置了警报。对于第一个警报,它显示为 False。在第二个警报中,“if check”之后,它显示 True。这很奇怪,因为我没有关闭窗口。

最佳答案

这似乎是 IE 中的一个已知错误。请参阅这篇文章:https://support.microsoft.com/en-us/kb/241109

他们的解决方案是当您检测到它在 IE 中运行时,基本上否定 win.close 的值。像这样的东西:

if(win.closed || isRunningInIE()) {
clearInterval(timer);
window.location.reload();
}

检测 IE 的方法有多种,因此您可以使用您最喜欢的方法来代替 isRunningInIE() 函数。

关于Javascript SetInterval 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33269735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com