js如何实现,在用户关闭浏览器(和标签页)的时候,弹出提示?

    <script src="bootstrap-3.3.7/docs/assets/js/ie10-viewport-bug-workaround.js"></script>
<script data-main="js/main.js" src="js/lib/require.min.js"></script>
<script type="text/javascript">
    window.onbeforeunload = function (e) {
        var message = '正在排队中,请勿关闭浏览器';
        e = e || window.event;
    
        if (e) {
            e.returnValue = message;
        }
    
        return message;
    };
</script>

我这样在页面中写的,为什么不生效呀
再打开的页面中点击一下鼠标,之后就可以了,不点击鼠标不生效,不知道什么原因?
阅读 6.7k
3 个回答

可以用window.onbeforeunload.

示例:

window.onbeforeunload = function (e) {
  e = e || window.event;

  // 兼容IE8和Firefox 4之前的版本
  if (e) {
    e.returnValue = '关闭提示';
  }

  // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
  return '关闭提示';
};

备注:Chrome失效可能是版本的问题。附上从v51版本开始的改动信息:Remove custom messages in onbeforeunload dialogs。里面提及到“A window's onbeforeunload property no longer supports a custom string.” 也就是不再支持自定义字符串。

竟然被邀请回答,不胜荣幸。
我试了下你自己的代码是有提示的:chrome版本 67.0.3396.87(正式版本)会有提示弹出,且这段代码已经含有兼容性了;
你一个人的chrome不行还是其他人员的也不行?看下版本以及是否被禁用弹框了:https://zhidao.baidu.com/ques...

chrome浏览器的bug。只要你打开控制台就能触发。否则触发不了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题