zoukankan      html  css  js  c++  java
  • 关闭浏览器时 onbeforeunload 不起作用

      最近在项目中,有一个小需求,需要记录用户在页面中的停留时间。设计了一个离开页面触发onbeforeunload 事件,来进行提交。但是发现方法在chrome浏览器下,时好时坏,不是很灵。

      在网上查了一下,又自己做了一些测试,发现如果进入页面不进行点击等操作,直接关闭,会出现不触发的情况。总结来说就是 onbeforeunload 方法需要用户和页面有交互动作才能在关闭页面时进行触发,否则不生效。

      

    window.onbeforeunload = function (e) {
        console.log('beforeunload');
        // TODO   
        return 1;
    };

      最终只能选择了一个比较妥协的办法,在进入页面时给用户一个弹出框,用户如果浏览则需要手动点击关闭,这样进行了交互,就可以触发方法了

      另外,有看到网友说,如果不进行交互也会触发,但是不会弹出提示。针对这种情况,个人感觉是因为页面关闭,导致post请求中断,所以数据并未进行保存处理。

  • 相关阅读:
    正则表达式口诀
    Ajax请求的四种方式
    jQuery插件 -- jQuery UI插件
    电脑操作技巧
    递归
    声纹识别环境初次搭建
    视频编码book_实战_全角度——1
    SDK等阅读笔记
    音视频bug调试
    音视频开发进阶指南(二)
  • 原文地址:https://www.cnblogs.com/tearfc/p/12714002.html
Copyright © 2011-2022 走看看