无法在chrome中使用onbeforeunload工作

时间:2012-01-19 21:41:34

标签: javascript html google-chrome onbeforeunload

我在这个网站上看过类似的问题,但我还没有看到为什么这对我不起作用。

我安装了最新版本的chrome。
我似乎无法使用以下代码在chrome中工作,但它在Firefox中工作。

Hello World!

<script>
    window.onbeforeunload = function(){
        alert("brohan");
    }
</script>

2 个答案:

答案 0 :(得分:0)

要做你想做的事,你的脚本应该是这样的:

<script>
  window.onbeforeunload = function() {
    return "brohan";
  };
</script>

如果您想通知Firefox 4+用户为什么您正在询问他们(希望有用的消息是intentionally disabled),您可以采用此解决方案:{{3} }

答案 1 :(得分:0)

可能会迟到,但我想在此处添加一些更新:

  1. Firefox {有意禁用window.onbeforeunload中的自定义消息(我使用的是版本35.0)。 :(
  2. @ecmanaut引发的解决方法现在无法正常工作 - 似乎Firefox在onbeforeunload处理程序中禁用了window.alert。在here
  3. 中描述

    我已经在Mac OS X的Firefox 35.0中自己尝试过了:

    var isFirefox = /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) > 4;
    window.onbeforeunload = function(e) {
      if (isFirefox) {
        window.alert('You are in firefox. Leaving this page you may lose some data.');
        return '...';
      }
      else {
        return 'Leaving this page you may lose some data.';
      }
     }
    

    刷新/点击外部链接时,此代码段不会触发alert功能,也不会触发浏览器的默认提示框。它离开了页面。

    希望此消息有所帮助。