Javascript 当用户切换离开时重新加载浏览器窗口

Javascript 当用户切换离开时重新加载浏览器窗口,javascript,jquery,browser,alert,onblur,Javascript,Jquery,Browser,Alert,Onblur,我正在为客户编写一个测验网站,参赛者有30秒的时间回答页面上的每个问题。如果他们切换到另一个选项卡或窗口模糊,我希望该窗口加载一个错误页面。这是基于我在2015年使用的jQuery代码,该代码过去工作得很好,现在当我测试它时,“离开站点?”提示无限弹出 以前的代码是: $(window).blur(function() { window.location = "<?=$server_url?>quiz_error.php"; }); $(窗口).blur(函数(){ windo

我正在为客户编写一个测验网站,参赛者有30秒的时间回答页面上的每个问题。如果他们切换到另一个选项卡或窗口模糊,我希望该窗口加载一个错误页面。这是基于我在2015年使用的jQuery代码,该代码过去工作得很好,现在当我测试它时,“离开站点?”提示无限弹出

以前的代码是:

$(window).blur(function() {
 window.location = "<?=$server_url?>quiz_error.php"; 
});
$(窗口).blur(函数(){
window.location=“quick\u error.php”;
});
我猜警报提示本身触发了另一个模糊事件,我们陷入了一个无限循环。 有没有办法让这个模糊只触发一次,这样我就可以加载错误页面? 我试过了

$(窗口).blur(函数(e){
e、 预防默认值();
window.location=“quick\u error.php”;
});
但这也不起作用


非常感谢:)

看起来您需要停止浏览器显示“离开网站”提示。可能是因为浏览器在页面本身上注册了一些未保存的更改/修改?是的,用户正在回答测验问题。blur上的removeEventListener?我尝试了e.preventDefault();但它不起作用。。。
$(window).blur(function(e) {
 e.preventDefault(); 
 window.location = "<?=$server_url?>quiz_error.php"; 
});