我遇到的问题只出现在Google Chrome中。当用户点击按钮时,ajax称为脚本,需要更长的时间(约2秒)才能执行。在此之后,它应该打开带有特定页面的新选项卡。但只有谷歌浏览器认为这是一个弹出窗口,这个问题只在这个脚本中,如果需要更长的时间。当我在localhost中尝试此步骤时,只需大约0.5秒,并在新选项卡中打开页面。但是当我将我的代码放到生产服务器上时,存在更大的数据库流量,因此脚本执行的时间更长,而chrome认为这是弹出的。在我看来,Chrome中有一些时间设置,之后chrome认为一切都是弹出的......
任何人都可以帮助我,我怎么能避免镀铬认为这是弹出窗口?
感谢您的任何建议。
代码:
function checkStatus(url, urlToCheck) {
var solved = true;
$.ajax({
url: urlToCheck,
context: document.body,
async:false,
success: function(data){
if (data == 0) {
solved = false;
}
}
});
if (!solved) {
window.open(url);
} else {
var r = confirm('Send e-mail?');
if (r == true) {
window.open(url);
}
}
}