使用onbeforeunload事件檢測窗口是否刷新或關閉

onunload,onbeforeunload 在頁面刷新或關閉時調用,區別在於:javascript

onbeforeunload 是在頁面刷新或關閉前觸發,這時瀏覽器並未請求服務器讀取新頁面,所以onbeforeunload是能夠阻止頁面更新或關閉的。html

onunload 也是在頁面刷新或關閉時觸發,不過這時瀏覽器已經向服務器請求讀取新頁面,所以onunload是沒法阻止頁面更新或關閉的。

java

1. onbeforeunload 事件

事件觸發時會彈出一個有肯定和取消的對話框,肯定後纔會執行後續事件,不然繼續留在本頁。

觸發於:
瀏覽器

  • 關閉瀏覽器窗口 服務器

  • 經過地址欄或收藏夾前往其餘頁面的時候 ui

  • 點擊返回,前進,刷新,主頁其中一個的時候 url

  • 點擊 一個前往其餘頁面的url鏈接的時候 spa

  • 調用如下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. .net

  • 當用window open打開一個頁面,並把本頁的window的名字傳給要打開的頁面的時候。 orm

  • 從新賦予location.href的值的時候。 

  • 經過input type=」submit」按鈕提交一個具備指定action的表單的時候。 

能夠用在如下元素:

  • BODY, FRAMESET, window

平臺支持:IE,Firefox,Chrome,Safari。Opera暫不支持。

例子:

[html] view plain copy

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

  2. <html>  

  3.  <head>  

  4.   <meta http-equiv="content-type" content="text/html; charset=utf-8">  

  5.   <title> 刷新與離開頁面檢測 </title>  

  6.  </head>  

  7.   

  8.  <body>  

  9.   <script type="text/javascript">  

  10.   window.onbeforeunload = function(){  

  11.     return '你的文章還沒有保存';  

  12.   }  

  13.   </script>  

  14.  </body>  

  15. </html>  

2. onunload 事件

事件觸發時,會彈出一個只有肯定的對話框,點肯定後執行後續事件。


觸發於:

  • 關閉瀏覽器窗口 

  • 經過地址欄或收藏夾前往其餘頁面的時候 

  • 點擊返回,前進,刷新,主頁其中一個的時候 

  • 點擊 一個前往其餘頁面的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的表單的時候。 

平臺支持:只有IE,其餘都不支持。

例子:

[html] view plain copy

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

  2. <html>  

  3.  <head>  

  4.   <meta http-equiv="content-type" content="text/html; charset=utf-8">  

  5.   <title> 刷新與離開頁面檢測 </title>  

  6.  </head>  

  7.   

  8.  <body>  

  9.   <script type="text/javascript">  

  10.   window.onunload = function(){  

  11.     alert('謝謝下次再來');  

  12.   }  

  13.   </script>  

  14.  </body>  

  15. </html>

相關文章
相關標籤/搜索