成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS基礎(chǔ)篇--JS之onunload、onbeforeunload事件詳解

rollback / 1948人閱讀

摘要:事件事件在用戶退出頁面時發(fā)生。注意事件同樣觸發(fā)了頁面載入事件事件。如圖所示大體一句話描述和支持事件但是或者不支持該事件。瀏覽器兼容情況完美支持不支持文字提醒信息不支持如圖所示使用遇到的凡是標簽都會觸發(fā)事件包括這種。

簡介

onunload,onbeforeunload都是在刷新或關(guān)閉時調(diào)用,可以在

大體一句話描述:IE, Firefox, 和 Safari 支持 onunload 事件, 但是 Chrome 或者 Opera 不支持該事件。

onbeforeunload事件

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

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

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

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

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

語法

html中使用:

JavaScript 中:

object.onbeforeunload=function(){myScript};

JavaScript 中, 使用 addEventListener() 方法:

object.addEventListener("beforeunload", myScript);

注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。

JS中使用例子寫法一:

//JS document
window.onbeforeunload = function(){
return "onbeforeunload is work";
}

return 的值 為你需要告訴用戶的提示信息如上面demo的話瀏覽器的提示是這樣(firefox ,Chrome并不支持文字提醒)。

JS中使用例子寫法二:

window.onbeforeunload = function(event) {
    event.returnValue = "我在這寫點東西...";
};

值得注意的是,網(wǎng)上流傳說 可以通過檢查 e.clientX e.clientY 判斷 用戶是否點擊 右上角關(guān)閉瀏覽器的,但是實踐發(fā)現(xiàn) 只有 IE6,IE7,IE8 能獲取得到具體數(shù)值,其他瀏覽器均為 undefined。

瀏覽器兼容情況

IE、Safari 完美支持

Firefox、Chrome 不支持文字提醒信息

Opera 不支持

如圖所示:

IE6,IE7 使用 onbeforeunload 遇到的bug

凡是 標簽 都會觸發(fā) onbeforeunload事件 包括 href=”javascript:void(0)” 這種。

在IE6,IE7 下面 點擊 里面的 a 標簽,蛋疼的事情就發(fā)生了。

解決方法:給這 a標簽的 父級 添加 onclick=function(){return false} 即可,不過添加了這個之后 要確保 父級里面沒有 input type=”checkbox” 的標簽,否則會導(dǎo)致其無效不可點擊。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/89507.html

相關(guān)文章

  • 監(jiān)聽瀏覽器刷新及關(guān)閉

    摘要:解決思路對于瀏覽器的關(guān)閉和刷新會觸發(fā)兩個事件和,問題在于如何區(qū)分用戶是想刷新還是退出此時應(yīng)該將用戶催眠,然后獲得用戶的思想,預(yù)判用戶走位及操作。。。事件是無法阻止頁面關(guān)閉的。 需求背景: 為保證‘高度安全性’,用戶每次退出頁面或瀏覽器都要清除登陸信息,每次進入系統(tǒng)都要重新登陸(每次登陸還要手機驗證碼等亂七八糟的驗證信息,,,求用戶的心里陰影面積),但是刷新頁面不可以清除登陸信息。解決思...

    AWang 評論0 收藏0
  • Dom中高big 事件總結(jié)(持續(xù)更新中)

    摘要:三事件事件在即將離開當前頁面刷新或關(guān)閉時觸發(fā)。四事件事件在用戶退出頁面時發(fā)生。五事件該事件在存儲更新時觸發(fā)六事件該事件在窗口的瀏覽歷史對象發(fā)生改變時觸發(fā)七事件事件在用戶中止加載或元素時觸發(fā)。 將前段時間自己用到的,比較少見,但是功能很強大的事件在這里總結(jié)下,一來自己重新梳理歸檔下,二來,沒用過的同學(xué)也可以嘗試用下。其實,這些都是基礎(chǔ)知識,但是基礎(chǔ)是最重要的。還記得老師說過:基礎(chǔ)不牢,地...

    mzlogin 評論0 收藏0
  • JS魔法堂:定義頁面的Dispose方法——[before]unload事件啟示錄

    摘要:坑無視和是十分特殊的事件,要求事件處理函數(shù)內(nèi)部不能阻塞當前線程,而卻恰恰就會阻塞當前線程,因此規(guī)范中以明確在和中直接無視這幾個方法的調(diào)用。 前言 ?最近實施的同事報障,說用戶審批流程后直接關(guān)閉瀏覽器,操作十余次后系統(tǒng)就報用戶會話數(shù)超過上限,咨詢4A同事后得知登陸后需要顯式調(diào)用登出API才能清理4A端,否則必然會超出會話上限。?即使在頁面上增添一個登出按鈕也無法保證用戶不會直接關(guān)掉瀏覽器...

    Chiclaim 評論0 收藏0
  • 頁面生命周期:DOMContentLoaded, load, beforeunload, unloa

    摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁面或者關(guān)閉窗口時,事件將會被觸發(fā)以進行額外的確認。狀態(tài)表示事件即將被觸發(fā)。總結(jié)頁面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個階段使用去訪問元素。 頁面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....

    lx1036 評論0 收藏0
  • 頁面生命周期:DOMContentLoaded, load, beforeunload, unloa

    摘要:所以有可能在所有腳本執(zhí)行完畢后觸發(fā)。如果用戶即將離開頁面或者關(guān)閉窗口時,事件將會被觸發(fā)以進行額外的確認。狀態(tài)表示事件即將被觸發(fā)??偨Y(jié)頁面事件的生命周期事件在樹構(gòu)建完畢后被觸發(fā),我們可以在這個階段使用去訪問元素。 頁面生命周期:DOMContentLoaded, load, beforeunload, unload 原文地址:http://javascript.info/onload.....

    luckyyulin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<