zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    微擎签名出错 invalid signature
    微擎 pdo_fetchall() 函数
    Qt 文本文件的读写操作
    Qt Qlistwidget、Qlistview
    Qt保留小数点后一位、两位……
    Excel怎么快速删除全部空行
    光学镜头参数详解(EFL、TTL、BFL、FFL、FBL/FFL、FOV、F/NO、RI、MTF、TV-Line、Flare/Ghost)
    Image J 介绍
    C# MODBUS协议上位机程序
    C/C++ memmove与memcpy的区别及实现
  • 原文地址:https://www.cnblogs.com/phermis/p/13373335.html
Copyright © 2011-2022 走看看