js 瀏覽器窗口 刷新、關閉事件


1、beforeunload

當瀏覽器窗口關閉或者刷新時,會觸發beforeunload事件。當前頁面不會直接關閉,可以點擊確定按鈕關閉或刷新,也可以取消關閉或刷新。

2、onbeforeunload

當窗口即將被卸載(關閉)時,會觸發該事件.此時頁面文檔依然可見,且該事件的默認動作可以被取消。

各大瀏覽器測試結果:

火狐瀏覽器
刷新時:先執行 onbeforeunload ,新頁面即將替換舊頁面時 onunload ,最后 onload ;
關閉時:只執行 onbeforeunload

谷歌瀏覽器
刷新時:先執行 onbeforeunload ,新頁面即將替換舊頁面時 onunload ,最后 onload ;
關閉時:先執行 onbeforeunload ,再執行 onunload.
小窗口關閉:先執行 onbeforeunload ,onunload

MicsoftEdge瀏覽器
刷新時:先執行 onbeforeunload ,新頁面即將替換舊頁面時 onunload ,最后 onload ;
關閉時:只執行 onbeforeunload

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362

IE瀏覽器
刷新時:先執行 onbeforeunload ,新頁面即將替換舊頁面時 onunload ,最后 onload ;
關閉時:只執行 onbeforeunload

360瀏覽器
刷新時:先執行 onbeforeunload ,再執行 onload ;
關閉時:只執行 onbeforeunload

window.onload = function(){
    console.log('unload操作===========================unload操作');
    var userAgent = navigator.userAgent;
    var flag = userAgent.indexOf('Firefox') > -1 ? true : false;
    window.onunload = function() {
        console.log('ooooooooooooooooo操作');
        if(!flag){
            console.log('ooooooooooooooooo操作');
        }else{

        }
    };

    window.onbeforeunload = function () {
        console.log('bbbbbbbbbbbbbbbbb操作');
        if(flag){
            console.log('bbbbbbbbbbbbbbbbb操作');
        }else{
            
        }
    };
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM