• 页签关闭之后复制链接到地址栏,页面仍然可以访问。


    // 此问题主要是浏览器关闭之后我们浏览器到底做了哪些操作。

    1、刷新浏览器

      unbeforeunload  -->  onunload -->  onload

      事件运行机制是:解绑前,要解绑,重新加载页面。

    2、关闭浏览器

      unbeforeunload  -->  onunload

    3、两者的差别如何区分。

    思路:我们定义两个事件,根据两个时间差我们来确定是刷新还是关闭,当然ie  不兼容。此处做了好多次Ie 彻底不执行。。。。。,无语地方。

    function getXMLHttpRequest(){

        var xhr;

        if(window.ActiveObject){

            xhr = new ActiveObject("Microsoft.XMLHTTP")

        }else if(window.XMLHttpRequest){

            xhr = new XMLHttpRequest()

        } else {

            xhr = null;

        }

        return xhr;

    }

    var beaginTime = 0, differTime = 0;

    window.onunload=function() { // 此处页面只能同步执行,异步此处不执行,IE 当然也不执行。

        differTime = new Date().getTime() - beginTime;

        if(differTime < 5) {

            var xhr = getXMLHttpRequest();

            xhr.open("post", url);

            var data = JSON.stringfy();

            xhr.setRequestHeader("Content-Type", "application/json;chartset=UTF-8")

            xhr.send(data);

        } else {

            console.log("刷新")

        }

    }

    window.onbeforeunload = function() {

        beaginTime=new Date().getTime();

    }

  • 相关阅读:
    AutoMapper用法
    这些基础却重要的面向对象概念,你还记得多少
    Ajax工作原理
    CSS中的绝对定位与相对定位
    NET中的Memcached.ClientLibrary使用详解
    经典Linq实例语句
    软件工程的意义
    C#.Net Mvc运营监控,计算方法/接口/action/页面执行时间
    属性与字段的区别
    SQL 递归树 子父节点相互查询
  • 原文地址:https://www.cnblogs.com/GongYaLei/p/11118401.html
Copyright © 2020-2023  润新知