SetTimeOut属性导致弹出窗口阻止程序而不是新窗口

时间:2014-03-17 20:46:50

标签: javascript jquery settimeout window.open

我正在向页面发送同步帖子,同时当我收到回复时,我正在显示加载(等待)图像。为了显示图像,我使用SetTimeout属性并在新窗口中显示响应。现在,由于我使用的是SetTimeout属性,浏览器会将此窗口视为弹出窗口并阻止它。我正在使用window.open

我尝试删除等待图像,但工作正常。 当我删除加载图像时,一切正常。

有关如何欺骗浏览器的任何建议? 谢谢

1 个答案:

答案 0 :(得分:0)

有一种方法可以欺骗浏览器。您可以创建一个简单的while循环来代替使用setTimeout,它将执行延迟。像这样:

var d1 = new Date(),
    d2 = new Date(),
    timer = 500; //Milliseconds

while (d2.valueOf() < d1.valueOf() + timer) {
    d2 = new Date();
}

window.open('new_location.html', '_blank');

它不是很好的解决方案,但它可以完成工作:)