自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Javascript如何監(jiān)聽頁面刷新和關(guān)閉事件

開發(fā) 開發(fā)工具 前端
在我們的日常生活中,時常遇到這么一種情況,當(dāng)我們在點擊一個鏈接、關(guān)閉頁面、表單提交時等情況,會提示我們是否確認(rèn)該操作等信息。這里就給大家講講javascript的onbeforeunload()和onunload()兩個事件。

[[206622]]

在我們的日常生活中,時常遇到這么一種情況,當(dāng)我們在點擊一個鏈接、關(guān)閉頁面、表單提交時等情況,會提示我們是否確認(rèn)該操作等信息。

這里就給大家講講javascript的onbeforeunload()和onunload()兩個事件。

相同點:

兩者都是在對頁面的關(guān)閉或刷新事件作個操作。

不同點:

unbeforeunload()事件執(zhí)行的順序在onunload()事件之前發(fā)生。(因為,unbeforeunload()是在頁面刷新之前觸發(fā)的事件,而onubload()是在頁面關(guān)閉之后才會觸發(fā)的)。

unbeforeunload()事件可以禁止onunload()事件的觸發(fā)。

onunload()事件是無法阻止頁面關(guān)閉的。

瀏覽器的兼容

onunload:

IE6,IE7,IE8 中 刷新頁面、關(guān)閉瀏覽器之后、頁面跳轉(zhuǎn)之后都會執(zhí)行;

IE9 刷新頁面 會執(zhí)行,頁面跳轉(zhuǎn)、關(guān)閉瀏覽器不能執(zhí)行;

firefox(包括firefox3.6) 關(guān)閉標(biāo)簽之后、頁面跳轉(zhuǎn)之后、刷新頁面之后能執(zhí)行,但關(guān)閉瀏覽器不能執(zhí)行;

Safari 刷新頁面、頁面跳轉(zhuǎn)之后會執(zhí)行,但關(guān)閉瀏覽器不能執(zhí)行;

Opera、Chrome 任何情況都不執(zhí)行。

 

onbeforeunload:

IE、Chrome、Safari ***支持

Firefox 不支持文字提醒信息

Opera 不支持

IE6,IE7會出現(xiàn)bug

 

示例代碼:

onbeforeunload():

方式一:html元素中添加

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"
  5. <title></title> 
  6. </head> 
  7. <body onbeforeunload="return myFunction()"
  8.   
  9. <p>該實例演示了如何向 body 元素添加 "onbeforeunload" 事件。</p> 
  10. <p>關(guān)閉當(dāng)前窗口,按下 F5 或點擊以下鏈接觸發(fā) onbeforeunload 事件。</p> 
  11. <a href="http://www.qqtimezone.top">博客地址</a>      
  12. <script> 
  13. function myFunction() { 
  14.     return "自定義內(nèi)容"
  15. </script> 
  16.   
  17. </body> 
  18. </html> 

方式二:javascript中添加

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"
  5. <title>菜鳥教程(runoob.com)</title> 
  6. </head> 
  7. <body> 
  8.   
  9. <p>該實例演示了如何使用 HTML DOM 向 body 元素添加 "onbeforeunload" 事件。</p> 
  10. <p>關(guān)閉當(dāng)前窗口,按下 F5 或點擊以下鏈接觸發(fā) onbeforeunload 事件。</p> 
  11. <a href="http://www.runoob.com">點擊調(diào)整到菜鳥教程</a> 
  12. <script> 
  13. window.onbeforeunload = function(event) { 
  14.     event.returnValue = "我在這寫點東西..."
  15. }; 
  16. </script> 
  17.   
  18. </body> 
  19. </html> 

方式三:添加addEventListener()事件(不過此方法IE8以下不支持)

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"
  5. <title></title> 
  6. </head> 
  7. <body> 
  8.   
  9. <p>該實例演示了如何使用 addEventListener() 方法向 body 元素添加 "onbeforeunload" 事件。</p> 
  10. <p>關(guān)閉當(dāng)前窗口,按下 F5 或點擊以下鏈接觸發(fā) onbeforeunload 事件。</p> 
  11. <a href="http://www.qqtimezone.top">跳轉(zhuǎn)地址</a> 
  12. <script> 
  13. window.addEventListener("beforeunload"function(event) { 
  14.     event.returnValue = "我在這寫點東西..."
  15. }); 
  16. </script> 
  17.   
  18. </body> 
  19. </html> 

onunload():

方式一:html元素中添加

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4.     <title></title> 
  5.     <script type="text/javascript"
  6.         function fun() { 
  7.             // dosomethings 
  8.         } 
  9.     </script> 
  10. </head> 
  11. <body onunload="fun()"
  12.   
  13. </body> 
  14. </html> 

方式二:javascript添加

  1. <!DOCTYPE html> 
  2. <html> 
  3.   
  4. <head> 
  5.     <title></title> 
  6.     <script type="text/javascript"
  7.     window.onunload = function() { 
  8.         // dosomethings 
  9.     }; 
  10.     </script> 
  11. </head> 
  12.   
  13. <body> 
  14. </body> 
  15.   
  16. </html> 

【本文為51CTO專欄作者“太平洋警察”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2012-08-14 14:00:21

JavaScript

2011-05-31 09:16:15

JavaScript

2021-03-23 10:01:41

JavaScript事件監(jiān)聽開發(fā)技術(shù)

2009-06-30 15:59:00

Eclipse插件開發(fā)

2009-01-19 09:40:53

JavaScript事件代理事件處理器

2016-09-06 21:23:25

JavaScriptnode異步

2017-08-11 17:00:00

前端事件監(jiān)聽DOM變動

2023-08-28 08:52:49

監(jiān)聽頁面用戶

2023-06-12 15:37:38

鴻蒙ArkUI

2012-05-07 13:41:18

JavaScript

2024-11-26 11:59:06

2010-07-29 10:33:59

Flex鍵盤事件

2010-08-06 10:03:42

Flex事件

2012-05-22 11:15:37

jQuery

2021-03-12 16:25:17

技巧vue頁面刷新

2017-01-05 09:07:25

JavaScript瀏覽器驅(qū)動

2015-11-06 13:59:01

JavaScript事件處理

2022-02-23 15:36:46

ArkUI-eTS事件監(jiān)聽鴻蒙

2024-11-29 09:41:17

2012-03-12 09:33:04

JavaScript
點贊
收藏

51CTO技術(shù)棧公眾號