首頁 >web前端 >js教程 >如何實現「離開頁面」?舊版瀏覽器中是否出現確認提示?

如何實現「離開頁面」?舊版瀏覽器中是否出現確認提示?

Barbara Streisand
Barbara Streisand原創
2024-12-12 21:09:10791瀏覽

How to Implement a

如何顯示「您確定要離開此頁面嗎?」在舊版瀏覽器中提示未儲存的變更

簡介

在網頁上進行文字編輯或其他變更並嘗試離開頁面時,瀏覽器可以顯示確認訊息提示要求使用者確認他們的導航。此功能對於防止使用者意外遺失未儲存的變更非常有用。

啟用提示

在舊版瀏覽器(IE6-8、Firefox 之前的版本)中啟用此導航確認提示至版本 4),為 window.onbeforeunload屬性分配一個函數參考:

window.onbeforeunload = function(e) {
  // For IE6-8 and Firefox prior to version 4
  if (e) {
    e.returnValue = "Are you sure you want to leave?";
  }

  // For Chrome, Safari, IE8+ and Opera 12+
  return "Are you sure you want to leave?";
};

停用提示

要停用導覽確認提示,請從window.onbeforeunload 中刪除函數參考:

window.onbeforeunload = null;

檢查是否未儲存變更

無論頁面上是否有未儲存的更改,都會觸發使用者的確認。若要檢查未儲存的更改,您可以利用您首選的驗證框架或自訂解決方案。

例如,使用jQuery,您可以將更改事件綁定到表單字段,以在字段包含非-空值:

$('input').change(function() {
  if($(this).val() != "") {
    window.onbeforeunload = "Are you sure you want to leave?";
  }
});

注意:

在現代瀏覽器中,顯示自訂導覽確認訊息被視為一種安全隱患,已被刪除。瀏覽器現在僅顯示通用訊息。若要在現代瀏覽器中啟用或停用導覽提示,只需將 window.onbeforeunload 設定或刪除為不含傳回值的函數參考即可。

以上是如何實現「離開頁面」?舊版瀏覽器中是否出現確認提示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn