這篇文章主要帶給大家一個JS實用功能,監聽瀏覽器在關閉的時候提示出是否要離開的小功能,需要的朋友學習下吧。
大家是否常常遇到在關閉網頁的時候,會看到一個確定是否離開目前頁面的提示框?想一些線上測試系統、資訊輸入系統等就經常會有這一些提示,避免用戶有意或無意中關掉了頁面,導致資料遺失。這裡面的實作過程很簡單,利用了HTML DOM事件中的onunload和onbeforeunload方法。
unload 事件屬性
定義:當使用者解除安裝文件時執行一段JavaScript,例如:
// body <body onunload="goodbye()"> //window window.onbeforeunload=function(e){ var e = window.event||e; e.returnValue=("确定离开当前页面吗?"); }
用法:當使用者離開頁面時,會發生unload 事件。注意:如果您重載頁面,也會觸發 unload 事件(以及 onload 事件)。
觸發於:
關閉瀏覽器視窗透過地址欄或收藏夾前往其他頁面的時候點擊返回,前進,刷新,主頁其中一個的時候點擊一個前往其他頁面的url連接的時候呼叫以下任一事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. 當用window open打開一個頁面,並把本頁的window的名字傳給要開啟的頁面的時候。重新賦予location.href的值的時候。透過input type="submit"按鈕提交一個有指定action的表單的時候。 onbeforeunload 事件屬性
定義:當即將離開目前頁面(刷新或關閉)時執行JavaScript,例如:
//body <body onbeforeunload="goodbye()"> //window window.onbeforeunload=function(e){ var e = window.event||e; e.returnValue=("确定离开当前页面吗?"); }
用法:onbeforeunload 事件在即將離開目前頁面(刷新或關閉)時觸發。此事件可用於彈出對話框,提示使用者是繼續瀏覽頁面還是離開目前頁面。對話方塊預設的提示訊息會根據不同的瀏覽器有所不同,標準的資訊類似 "確定要離開此頁嗎?"。該資訊不能刪除。但你可以自訂一些訊息提示與標準資訊一起顯示在對話框中。注意: 在 Firefox 瀏覽器中,只顯示預設提醒訊息(不顯示自訂訊息)。
觸發於:
關閉瀏覽器視窗 透過網址列或收藏夾前往其他頁面的時候 點擊返回,前進,刷新,主頁其中一個的時候 點擊一個前往其他頁面的url連接的時候 呼叫以下任一事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. 當用window openFind,location replace,location reload,form submit. 當用window openFind,location replace,location reload,form submit. 當用window open打開一個頁面,並把本頁的window的名字傳給要開啟的頁面的時候。 重新賦予location.href的值的時候。 透過input type=”submit」按鈕提交一個有指定action的表單的時候。
瀏覽器支援程度
目前主流瀏覽器都支援這兩個事件屬性
概述
onunload ,onbeforeunload都是在刷新或關閉時調用,可以在