自定义退出弹出文本

时间:2017-03-10 00:02:10

标签: javascript popup

我知道每个人都讨厌这些。但是我有一个退出流行音乐,它可以解决我想要的除了一件事。我想知道如何在弹出窗口中添加消息,而不仅仅是说“你想离开这个网站吗?” - 您所做的更改可能无法保存。这是我的代码。 (抱歉格式不好)

<script type="text/javascript">
  (function() {
    var __redirect_to = 'http://www.example.com';

    var _tags = ['button', 'input', 'a'], _els, _i, _i2;
    for(_i in _tags) {
      _els = document.getElementsByTagName(_tags[_i]);
      for(_i2 in _els) {
        if((_tags[_i] == 'input' && _els[_i2].type != 'button' && _els[_i2].type != 'submit') || _els[_i2].target == '_blank') continue;
        _els[_i2].onclick = function() {window.onbeforeunload = function(){};}
      }
    }
    window.onbeforeunload = function() {
      setTimeout(function() {
        window.onbeforeunload = function() {};
        setTimeout(function() {
          document.location.href = __redirect_to;
        }, 500);
      },5);
      return '1';
    }
  })();
</script>

甚至可以这样做吗?我可以更改两行提示文字吗?如果有人可以提供帮助,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您以前可以在onbeforeunload对话框中设置自定义文字,但在大多数较新的浏览器中,您不能再这样做了:

  

从Firefox 4,Chrome 51,Opera 38和Safari 9.1开始,将显示不受网页控制的通用字符串,而不是返回的字符串。例如,Firefox显示字符串&#34;此页面要求您确认要离开 - 您输入的数据可能无法保存。&#34;请参阅bug 588292Chrome Platform Status

     

自2011年5月25日起,HTML5规范声明在此事件期间可能会忽略对window.alert()window.confirm()window.prompt()方法的调用。有关详细信息,请参阅HTML5 specification

     

(资料来源:MDN: window.onbeforeunload