页面退出警报消息在Firefox中不起作用

时间:2012-06-28 21:37:25

标签: javascript html javascript-events

您好我在一个页面上有我的javscript警报,该页面通过我的自定义消息提醒用户。

  

关于我的脚本,当用户尝试退出或刷新页面时,他们会通过我的自定义消息获得警报   “请留在此页面以获取折扣”   当他们选择留下时,他们被重定向到   的 discount_offer.html

我的脚本:

<script language="javascript">
    var vals=0;
    function displayMsg() {
        window.onbeforeunload = function evens(evt) {}
            window.location.href = 'discount_offer.html';
    }
    window.onbeforeunload = function evens(evt) {
    var message = 'Please Stay on this page to avail discount';
      if (typeof evt == 'undefined') {
          evt = window.event;
      }
        timedCount();
        vals++;
      if (evt) {
          evt.returnValue = message ;
          return message ;
      }
      trace(evt);
    }
    function timedCount()
    {
        t=setTimeout("timedCount()",100);
        if(vals>0)
        {
            displayMsg();
            clearTimeout(t);
        }
    }
    </script>

<p> <h1> My page Content here! </h1> </p>

&GT;&GT;问题:

我的脚本在Chrome中完美运行,但它不会在Firefox中显示我的自定义消息。相反,它显示Firefox默认消息:**

“此页面要求您确认是否要离开 - 您输入的数据可能无法保存”

&GT;&GT;我的问题是:

如何摆脱这个默认的firefox消息并显示我的消息?

1 个答案:

答案 0 :(得分:2)

不,你无法改变它:

在FF 4及更高版本中,根据此bug,返回的字符串不会显示给用户。

另一种解决方案是突出显示未保存的字段和/或在页面的某处放置消息。