這篇文章主要帶給大家一個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都是在刷新或關閉時調用,可以在<script>腳本中透過window.onunload來指定或在<body>裡指定。差別在於onbeforeunload在onunload之前執行,它也可以阻止onunload的執行。 onbeforeunload也是在頁面刷新或關閉時調用,onbeforeunload是正要去伺服器讀取新的頁面時調用,此時還沒開始讀取;而onunload則已經從伺服器上讀到了需要加載的新的頁面,在即將替換掉當前頁面時調用。 onunload是無法阻止頁面的更新和關閉的,而 onbeforeunload 可以做到。 </script>
附:
頁面載入時只執行onload
頁面關閉時先執行onbeforeunload,最後onunload
頁面刷新時先執行onbeforeunload,然後onunload ,最後onload
附上部分效果圖:
綁定body標籤的程式碼:
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>测试</title> <script> function checkLeave(){ event.returnValue="确定离开当前页面吗?"; } </script> </head> <body onbeforeunload="checkLeave()"> 测试 </body> </html>
Google瀏覽器下的效果:
點擊刷新按鈕:
點選返回按鈕:
#透過工作列或收藏夾前往其他介面:
關閉頁面:
#edge下的效果:
##點擊刷新按鈕:点击返回按钮:
关闭页面:
注:在新版的火狐浏览器(我是用的版本: 57.0 )里面,上面这种写法不生效?!
绑定window对象的代码:
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>测试</title> <script> window.onbeforeunload=function(e){ var e = window.event||e; e.returnValue=("确定离开当前页面吗?"); } </script> </head> <body> 测试 </body> </html>
火狐下的效果:
点击刷新按钮:
点击返回按钮:
关闭页面:
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
以上是在js中如何實現關閉網頁出現離開提示(詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能