javascript – 使用onbeforeunload函数中的自定义对话框确认重新加载页面.在弹出框之前在函数onbeforeunload中执行的代码[复制]

参见英文答案 > How to show the “Are you sure you want to navigate away from this page?” when changes committed?                                    17个
我想在用户尝试重新加载页面时显示一个确认框.我在我的项目中尝试过它并没有用.我已经创建了一个我尝试过的示例代码,即使它不起作用.任何人都可以告诉我哪里出错了.我甚至没有收到确认框.我使用的是Chrome 33.我需要在弹出框之前在window.onbeforeunload中执行一些代码.

<!DOCTYPE>
<html>
<body>
    <script type="text/javascript">
        window.onbeforeunload = function()
        {
          var r = confirm("Are you sure you want to reload the page.");
          if(r)
          {
            window.location.reload();
          }
          else
          {

          }
        };

    </script>
</body>
</html>

解决方法:

这将有效:

 window.onbeforeunload = function ()
 {
     return "";
 };

最近版本的Chrome(可能还有其他几个版本)不支持任何内容,只是在使用onbeforeunload时返回一条简单的消息.功能中的其他代码似乎被忽略,至少在Chrome中是这样.

会为你做的伎俩.您可以返回与空字符串不同的内容(使其成为自定义),但这会导致重复的问题(您的消息是浏览器提供的消息),但没有什么能阻止您这样做.

在IE9和最新版Chrome中测试过.它将启动一个警告框,询问用户是否要重新加载.

上一篇:javascript – 防止Jquery表单上的页面加载提交无显示按钮


下一篇:python基础之 运行程序(reload import exec)