JS監(jiān)聽瀏覽器關(guān)閉、刷新及切換標(biāo)簽頁觸發(fā)事件代碼示例
蠻簡(jiǎn)單的東西,知道就會(huì),不知道就不會(huì),沒什么邏輯可言。簡(jiǎn)單記錄一下,只為加深點(diǎn)兒印象。
visibilitychange
visibilitychange可以監(jiān)聽到瀏覽器的切換標(biāo)簽頁。
直接上代碼:
<script> document.addEventListener('visibilitychange', documentVisibilityChange) function documentVisibilityChange() { if(document.visibilityState === "hidden") { console.log('當(dāng)前頁簽隱藏,即打開新頁簽') } if(document.visibilityState === "visible") { console.log('當(dāng)前頁簽顯示,即打開當(dāng)前頁簽') } } </script>
beforeunload
beforeunload可以監(jiān)聽到頁面的關(guān)閉,頁簽切換不會(huì)觸發(fā)
- 關(guān)閉瀏覽器窗口的時(shí)候觸發(fā)
- 通過點(diǎn)擊當(dāng)前地址欄或收藏夾進(jìn)入另一個(gè)頁面時(shí)觸發(fā)(注意不是打開新頁簽)
- 刷新瀏覽器時(shí)觸發(fā)
- 重新賦值window.location.href的值的時(shí)候觸發(fā)
- 通過 form input type="submit"按鈕提交一個(gè)具有指定action的表單的時(shí)候觸發(fā)(原生事件)
可能還有其他情況,大家感興趣可以再去了解一下,我只是在瀏覽器刷新時(shí)用到了
<script> window.addEventListener('beforeunload', windowBeforeUnload) function windowBeforeUnload() { console.log('觸發(fā)beforeunload --->>>') } </script>
附:頁面鏈接跳轉(zhuǎn)不記錄歷史
function fnUrlReplace(href) { if (href && /^#|javasc/.test(href) === false) { if (history.replaceState) { history.replaceState(null, document.title, href.split('#')[0] + '#'); location.replace(''); } else { location.replace(href); } } }; fnUrlReplace(targetURL); fnUrlReplace后面直接寫一個(gè)鏈接,這樣既可以跳轉(zhuǎn)又不會(huì)記錄歷史,而且還做了兼容性處理,兼容到IE6。
總結(jié)
到此這篇關(guān)于JS監(jiān)聽瀏覽器關(guān)閉、刷新及切換標(biāo)簽頁觸發(fā)事件的文章就介紹到這了,更多相關(guān)JS監(jiān)聽瀏覽器關(guān)閉刷新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
鼠標(biāo)右擊事件代碼(asp.net后臺(tái))
本程序由一個(gè)js文件和aspx文件組成,沒有后臺(tái)CS代碼。2011-01-01JS實(shí)現(xiàn)動(dòng)畫兼容性的transition和transform實(shí)例分析
這篇文章主要介紹了JS實(shí)現(xiàn)動(dòng)畫兼容性的transition和transform方法,結(jié)合實(shí)例形式分析了transition和transform方法針對(duì)手機(jī)端瀏覽器兼容性問題上的相關(guān)處理技巧,需要的朋友可以參考下2016-12-12JavaScript實(shí)現(xiàn)的前端AES加密解密功能【基于CryptoJS】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的前端AES加密解密功能,涉及javascript基于CryptoJS插件進(jìn)行AES加密解密操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08JS前端框架關(guān)于重構(gòu)的失敗經(jīng)驗(yàn)分享
關(guān)于重構(gòu)JS前端框架的失敗經(jīng)驗(yàn)接下來與大家分享一下,感興趣的你可不要錯(cuò)過了哈,畢竟是經(jīng)驗(yàn)之談哈2013-03-03JavaScript實(shí)現(xiàn)輪播圖方法(邏輯清晰一看就懂)
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)輪播圖方法的相關(guān)資料,JS輪播圖的實(shí)現(xiàn)核心是使用JavaScript來控制圖片的切換和顯示,配合HTML和CSS完成布局和樣式設(shè)置,文中介紹的方法邏輯清晰一看就懂,需要的朋友可以參考下2023-12-12layui 動(dòng)態(tài)設(shè)置checbox 選中狀態(tài)的例子
今天小編就為大家分享一篇layui 動(dòng)態(tài)設(shè)置checbox 選中狀態(tài)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09刷新頁面實(shí)現(xiàn)方式總結(jié)(HTML,ASP,JS)
多種方法實(shí)現(xiàn)頁面的刷新代碼2008-11-11