javascript
  • popup
  • 2017-03-10 49 views 0 likes 
    0

    我知道每個人都討厭這些。但我有一個退出彈出窗口,它的作用是如何讓它從一件事情中脫離出來。我想知道如何將消息添加到彈出窗口而不是隻是說'你想離開這個網站嗎? - 您所做的更改可能無法保存。這是我的代碼。 (對不起,格式不對)自定義退出流行文本

    <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> 
    

    甚至有可能這樣做嗎?我可以更改兩行提示文字嗎?請讓我知道如果有人可以幫忙。提前致謝。

    +0

    嵌套beforeunload與它裏面重定向?你不能在onbeforeunload中重定向瀏覽器....並且brosers刪除了設置文本的能力。 – epascarello

    +0

    @epascarello你能想出更好的方式來寫這個嗎? –

    +0

    無法阻止瀏覽器退出。所以不行。 – epascarello

    回答

    2

    您使用能夠設置在onbeforeunload對話框中自定義文本,但在大多數新的瀏覽器,你就再也沒有看到:

    與Firefox 4,Chrome的51起,歌劇38和Safari 9.1,將顯示不在網頁控制下的通用字符串,而不是返回的字符串。例如,Firefox顯示字符串「此頁面要求您確認您要離開 - 您輸入的數據可能無法保存。」請參閱bug 588292Chrome Platform Status

    自2011年5月25日起,HTML5規範規定,在此事件期間可能會忽略對window.alert()window.confirm()window.prompt()方法的調用。有關更多詳細信息,請參閱HTML5 specification

    (來源:MDN: window.onbeforeunload

    +0

    謝謝@frxstrem –

    相關問題