卸载页面时,chrome无法正常工作

时间:2013-11-30 10:09:05

标签: javascript php jquery google-chrome

我有一个订单页面,管理员在其中选择订单。使用jquery在定期间隔后,在数据库中存储和更新所选订单。如果在选择复选框后用户离开页面我想给他一个确认消息。这不适用于chrome。因为chrome onbeforeunload事件需要返回字符串。在卸载页面时它会阻止所有警报和确认框。我可以获得用户是否想留在页面上的操作(.. //什么都不做)离开页面(//更新表格) 请帮忙

2 个答案:

答案 0 :(得分:1)

<script>
window.onbeforeunload = function(e) {
  //alert('Dialog text here.') Wrong//
  return 'Dialog text here.';
};
</script>

它应该写成这样。根据{{​​3}}

我尝试了不同的方法,最后得到了这个:

window.onbeforeunload = function(){
    setTimeout(function(){
        //do something
        alert('You stay!!')
    },500);
    return 'Dialog text here.';
}

答案 1 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload

  

自2011年5月25日起,HTML5规范声明在此事件期间可能会忽略对window.showModalDialog(),window.alert(),window.confirm()和window.prompt()方法的调用。

用户选择离开页面后,您无法执行任何操作。在页面导航之前,无法保证调用AJAX调用。因此,如果用户确认离开,您就丢失了它们。您可以更改警告以说服他们留下,然后在离开前手动点击页面上的SaveConfirm按钮。