为什么onbeforeunload,总是返回默认的语句 ,怎么自定义的不起作用呢?

window.onbeforeunload = function (e) {
        var message = '正在排队中,请勿关闭浏览器';
        e = e || window.event;
    
        if (e) {
            e.returnValue = message;
        }
    
        return message;
    };
window.onbeforeunload = function (e) {
  e = e || window.event;

  // 兼容IE8和Firefox 4之前的版本
  if (e) {
    e.returnValue = '正在排队中,请勿关闭浏览器';
  }

  // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
  return '正在排队中,请勿关闭浏览器';
};
<body onbeforeunload="return myfunction()">
 
<script>
function myfunction() {
    return "正在排队中,请勿关闭浏览器";
}
</script>

这三种方式都不行,只显示浏览器的默认提示“确定要离开.....” ie,chrome,360,edge都不能显示自定义的内容呀?

阅读 5.1k
1 个回答

你的上一个问题,不是有人已经告诉你了。新版本的浏览器 beforeunload 不会再展示自定义的内容。

从Firefox 4、 Chrome 51、Opera 38 和Safari 9.1开始,通用确认信息会代替事件返回的字符串。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题