亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

淺談javascript中onbeforeunload與onunload事件

2024-05-06 16:26:03
字體:
來源:轉載
供稿:網友
javascript中onbeforeunload與onunload事件就是頁面加載前與頁面關閉時的兩個功能的函數,可以防止頁面刷新時給提示再刷新或頁面關閉時給出提示,下面我來介紹onbeforeunload與onunload事件用法。
 

在最近的項目中,需要做到一個時間,就是用戶離開頁面的時候,我需要緩存頁面其中一部分的內容,但是我不需要用戶刷新的時候也緩存,我只希望在我用戶離開的時候

執行這個函數。百度之,有onbeforeunload與onunload這兩個事件,但是onbeforeunload在用戶刷新的時候也會執行。搞得我弄的挺久的,所以想在這里做一個小小的總結

onbeforeunload與onunload事件

onbeforeunload定義和用法

onbeforeunload 事件在即將離開當前頁面(刷新或關閉)時觸發。

該事件可用于彈出對話框,提示用戶是繼續瀏覽頁面還是離開當前頁面。

對話框默認的提示信息根據不同的瀏覽器有所不同,標準的信息類似 "確定要離開此頁嗎?"。該信息不能刪除。

但你可以自定義一些消息提示與標準信息一起顯示在對話框。

注意: 如果你沒有在 <body> 元素上指定 onbeforeunload 事件,則需要在 window 對象上添加事件,并使用 returnValue 屬性創建自定義信息(查看以下語法實例)。

注意: 在 Firefox 瀏覽器中,只顯示默認提醒信息(不顯示自定義信息)。

使用方法:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>test</title></head><body onbeforeunload="return test()">   </body><script type="text/javascript">  function test(){    return "你確定要離開嗎";  }</script></html>

或者:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>test</title></head><body>   </body><script type="text/javascript">window.onbeforeunload=function(){  return "你確定要離開嗎";} </script></html>

事件觸發的時候彈出一個有確定和取消的對話框,確定則離開頁面,取消則繼續待在本頁。當然你可以自定義提示文本。

那么,當我只需要在我離開時執行這個函數,而刷新的時候不執行,那怎么做呢?

window.onbeforeunload = function() {     var n = window.event.screenX - window.screenLeft;     var b = n > document.documentElement.scrollWidth - 20;     if (!(b && window.event.clientY < 0 || window.event.altKey)) {      //window.event.returnValue = "真的要刷新頁面么?";            //這里放置我想執行緩存的代碼      cacheFunction();          } }

 這樣,我離開頁面時,可以執行我的緩存代碼,而不彈出提示框,我刷新時也不彈出提示框,也不執行。值得一提的時,這個時候,要將ajax設置為同步,即:ajax里面的 async改為: false;

瀏覽器兼容情況

IE、Chrome、Safari 完美支持

Firefox 不支持文字提醒信息

Opera 不支持

IE6,IE7 使用 onbeforeunload 遇到的bug

2、onunload定義和用法

onunload 事件在用戶退出頁面時發生。

使用方法和onbeforeunload類似

window.onunload = function(){  return "你確定要離開嗎"} 

瀏覽器兼容情況

IE6,IE7,IE8 中 刷新頁面、關閉瀏覽器之后、頁面跳轉之后都會執行;

IE9 刷新頁面 會執行,頁面跳轉、關閉瀏覽器不能執行;

firefox(包括firefox3.6) 關閉標簽之后、頁面跳轉之后、刷新頁面之后能執行,但關閉瀏覽器不能執行;

Safari 刷新頁面、頁面跳轉之后會執行,但關閉瀏覽器不能執行;

Opera、Chrome 任何情況都不執行。

總結

       Onunload,onbeforeunload都是在刷新或關閉時調用,可以在<script>腳本中通過window.onunload來指定或者在<body>里指定。區別在于onbeforeunload在onunload之前執行,它還可以阻止onunload的執行。 
  Onbeforeunload也是在頁面刷新或關閉時調用,Onbeforeunload是正要去服務器讀取新的頁面時調用,此時還沒開始讀??;而onunload則已經從服務器上讀到了需要加載的新的頁面,在即將替換掉當前頁面時調用。Onunload是無法阻止頁面的更新和關閉的。而 Onbeforeunload 可以做到。

頁面加載時只執行onload 
頁面關閉時先執行onbeforeunload,最后onunload 
頁面刷新時先執行onbeforeunload,然后onunload,最后onload。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国内精品在线| 国产精品视频中文字幕91| 欧美性开放视频| 日韩激情在线视频| 欧美大片在线影院| 国产亚洲精品久久| 久久人人爽亚洲精品天堂| 亚洲毛片在线观看.| 成人亚洲综合色就1024| www.日韩欧美| 日韩电影中文字幕av| 日韩一区视频在线| 久久好看免费视频| 成人网在线观看| 91精品久久久久久久久久久久久久| 91国产在线精品| 国产成人精品免费视频| 久久免费福利视频| 中文字幕日韩视频| 欧美极品第一页| 91精品一区二区| 日本午夜精品理论片a级appf发布| 国产精品视频一| 成人av.网址在线网站| 国产精品爱啪在线线免费观看| 26uuu另类亚洲欧美日本一| 久久久久久久久综合| 最近中文字幕mv在线一区二区三区四区| 国产精品视频久久久| 精品综合久久久久久97| 欧美国产高跟鞋裸体秀xxxhd| 亚洲激情在线视频| 91精品国产91久久久| 国产精品高清在线观看| 亚洲人成电影网站色…| 伊人久久大香线蕉av一区二区| 国产精品成人观看视频国产奇米| 国产综合香蕉五月婷在线| 亚洲视频一区二区三区| 国产精品一二三视频| 日韩在线中文字| 精品偷拍一区二区三区在线看| 中文字幕日韩欧美在线视频| 欧美电影在线播放| 国产91免费看片| 欧美日韩在线视频一区二区| 日本一区二三区好的精华液| 国产精品流白浆视频| 国产精品美女免费| 亚洲精品国产精品久久清纯直播| 久久久人成影片一区二区三区观看| 亚洲黄色av网站| 国产精品视频地址| 日韩av电影手机在线观看| 亚洲视频777| 欧美小视频在线| 久久久久国产精品www| 欧洲亚洲在线视频| 精品亚洲永久免费精品| 亚洲第一色中文字幕| 成人久久精品视频| 丰满岳妇乱一区二区三区| 91久久久久久久久久久久久| 精品久久久久久久久久国产| 亚洲毛片在线观看| 日韩高清电影免费观看完整| 欧美激情aaaa| 欧美久久精品午夜青青大伊人| 欧美日韩性视频| 国产精品视频在线观看| 国产精品日韩av| 亚洲欧美日韩一区二区三区在线| 亚洲激情国产精品| 国产亚洲欧美日韩精品| 久久久久久久999精品视频| 国产精品一区二区三| 欧美亚洲第一区| 最近更新的2019中文字幕| 亚洲精品国产成人| 伊人久久大香线蕉av一区二区| 日本久久久久久久| 日韩成人在线免费观看| 日韩av电影在线免费播放| 91国产视频在线播放| 色av吧综合网| 日本一区二区不卡| 一级做a爰片久久毛片美女图片| 国产精品aaaa| 日韩欧美在线国产| 国产欧美在线看| 日本精品久久久久久久| 7777kkkk成人观看| 不卡毛片在线看| 欧美一区二区三区……| 国产有码在线一区二区视频| 91人人爽人人爽人人精88v| 精品亚洲国产视频| 国产成人小视频在线观看| 亚洲香蕉伊综合在人在线视看| 日韩在线观看网址| 最新国产精品亚洲| 国产精品网红直播| 久久五月情影视| 国产不卡视频在线| 久久久久久久久国产精品| 92看片淫黄大片看国产片| 欧美精品久久久久| 欧美日韩人人澡狠狠躁视频| 992tv在线成人免费观看| 亚洲自拍另类欧美丝袜| 日韩视频免费看| 亚洲精品免费在线视频| 青青久久av北条麻妃黑人| 国产精品久久久久7777婷婷| 8090理伦午夜在线电影| 亚洲欧美三级伦理| 欧美日产国产成人免费图片| 亚洲一区二区三区乱码aⅴ| 亚洲免费人成在线视频观看| 国产这里只有精品| 亚洲国产古装精品网站| 97av在线视频免费播放| 欧美极品少妇xxxxⅹ免费视频| 日韩免费看的电影电视剧大全| 国产一级揄自揄精品视频| 日本精品va在线观看| 欧美日韩精品中文字幕| 性色av一区二区三区免费| 一本一道久久a久久精品逆3p| 国内精品400部情侣激情| 国产精品国模在线| 亚洲欧美视频在线| 91在线视频导航| 欧美精品制服第一页| 国产精品白嫩初高中害羞小美女| 亚洲欧美精品一区二区| 高跟丝袜欧美一区| 国产一区二区三区三区在线观看| 国产精品美乳在线观看| 91精品国产99| 成人亚洲激情网| 亚洲精品久久久久中文字幕欢迎你| 日韩av电影在线网| 日韩性xxxx爱| 欧洲午夜精品久久久| 国产精品影片在线观看| 国产成人免费av电影| 国产精品啪视频| 国产日韩精品入口| 久久亚洲春色中文字幕| 欧美在线视频播放| 亚洲第一区中文字幕| 久久影院中文字幕| 91精品国产91久久久久久| 日韩欧美亚洲成人| 久久精品男人天堂| 米奇精品一区二区三区在线观看| 日本免费在线精品| 欧美另类精品xxxx孕妇| 国产精品久久久久9999| 中文字幕亚洲情99在线| 亚洲精品福利免费在线观看| www.久久久久久.com| 亚洲跨种族黑人xxx|