zoukankan      html  css  js  c++  java
  • 前端记录用户页面停留时间(解决移动端无法监听页面刷新或关闭问题)

    思路: 监听用户离开页面的事件就行!!!!  离开的时间减去进入的时间, 就是用户停留时间, 埋点

    问题:  怎么监听 用户里离开页面!!!!

    1.网上大多数都是 beforeunload   和  unload  还有  vue的生命周期 destroyed,  都试过了,  在移动端 都没有用!!!!!

    2.移动端监听不到beforeunload和  unload 

    3.在本人锲而不舍的找寻下(其实也就两三个小时),找到了一个较为满意的答案,既然移动端监听不到beforeunload,找寻一个能取代的API就好,上代码

    window.addEventListener('pagehide', () => {
        localStorage.setItem("timestamp",'77778899998')
    })

    4.没错,就是pagehide,完美代替,至此大功基本告成

    (剩余的跳转页面,特殊情况,返回页面,大家可自行埋点!!)

    补充说明:

    1、pageshow事件:这个事件在用户浏览网页时触发,pageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, pageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。
    2、pagehide事件:该事件会在用户离开网页时触发。离开网页有多种方式。如点击一个链接,刷新页面,提交表单,关闭浏览器等。pagehide 事件有时可以替代 unload事件,但 unload 事件触发后无法缓存页面。

    参考地址:https://blog.csdn.net/weixin_44431295/article/details/98876528

  • 相关阅读:
    LINQ体验(6)——LINQ语句之Join和Order By
    转 Spring.NET 与 NHibernate 的整合
    项目经理人必须要遵循的14个成功原则
    做成功的项目经理人
    就业模拟试题_Net(答案)
    java中的23中设计模式
    七种武器——.NET工程师求职面试必杀技
    如何识别真正的程序员
    WCF传输大数据的设置
    就业模拟试题_Java(答案)
  • 原文地址:https://www.cnblogs.com/520BigBear/p/14030132.html
Copyright © 2011-2022 走看看