簡體   English   中英

在離開/關閉標簽之前確認?

[英]Confirmation before leaving/closing of tab?

我試圖在用戶關閉選項卡或轉到另一個選項卡(如 facebook、gmail、GoDaddy 和其他人)之前顯示一個確認彈出窗口。

我的代碼適用於 Firefox,但不適用於 chrome、safari 等其他瀏覽器。

<script type="text/javascript">
      var hook = true;
      window.onbeforeunload = function() {
        if (hook) {
          return "Did you save"
        }
      }
      function unhook() {
        hook=false;
      }
    </script>

在單擊按鈕和鏈接時調用 unhook()

<a href="http://example.com" onClick="unhook()">No Block URL</a>

請幫我解決這個問題。

如果您查看window.beforeunload()api ,您可以看到,雖然廣泛支持基本卸載事件,但自定義消息只能在 Internet Explorer 和某些瀏覽器的某些版本中設置。 所以只需使用普通的標准消息。

此功能(自定義消息)經常被惡意站點利用,以有害或惡意的方式與用戶交互。 這就是為什么許多瀏覽器不再支持這一點的原因,直到某些補丁消除了對用戶的威脅。

標准消息解決方案:

window.addEventListener('beforeunload', function (e) {
  // Cancel the event
  e.preventDefault();
  // Chrome requires returnValue to be set
  e.returnValue = '';
});

看看Ouibounce它有助於檢測用戶何時即將離開頁面(它查看光標的位置)。 你可能可以建立這個庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM