簡介
Web 應用程式通常需要在使用者導航時防止資料遺失離開或關閉瀏覽器選項卡,並在表單中進行未儲存的變更。本文探討了在使用者離開頁面之前顯示確認提示的方法,確保他們有足夠的機會查看所做的變更。
JavaScript 方法
一種方法是使用 JavaScript beforeunload 事件。當使用者離開或關閉頁面時會觸發此事件。透過在事件處理程序中傳回非空字串,您可以顯示一則訊息提示確認。
window.addEventListener("beforeunload", function (e) { if (isDirty()) { // Check if the form contains unsaved changes var message = "Confirm leaving the page. Unsaved changes will be lost."; e.returnValue = message; } });
jQuery Dirty
更強大的解決方案是使用第三方函式庫,例如 jQuery Dirty。它提供了一套全面的方法來檢測表單變更並防止意外導航到未儲存的資料。
$("#formId").dirty({ preventLeaving: true // Display a prompt when navigating away });
自訂訊息的限制
需要注意的是某些瀏覽器不支援確認對話方塊中的自訂訊息,例如 Firefox 和 Chrome。因此,可以使用不帶自訂文字的預設確認對話方塊作為替代方案。
其他注意事項
以上是離開網頁時如何防止因未儲存的變更而遺失資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!