# 统计用户浏览停留时间 js **Repository Path**: haraefwx/stapforpage ## Basic Information - **Project Name**: 统计用户浏览停留时间 js - **Description**: 统计记录用户浏览记录 js - **Primary Language**: JavaScript - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2017-12-13 - **Last Updated**: 2024-04-18 ## Categories & Tags **Categories**: javascript-toolkits **Tags**: None ## README # 用户浏览停留时间 统计记录用户浏览记录 小白,第一次~~见谅~大家一起提升(共勉)。 说明:有参考网上一些资料,加上自己理解形成这个测试demo。算是记录学习过程。 # 兼容性是综合canIuse、MDN,并未亲测。 # 关于刷新页面,这个demo当作是2个操作处理,具有2条日志。 查看了一些网上百度前10的文章,都是将刷新页面处理成一条数据。具体思路如下: 1.页面出来将 refer 保存到 cookie 中; 2.在 onbeforeunload 中,以刷新页面时 refer 信息为空来作为判断; 3.如果用户刷新页面,就取出 最后一次 存入 localStorage 中的时间和本次的浏览时间 相加 ; 4.更新最后一次存入的 localStorage 中 # localStorage localStorage 描述:浏览器存储空间。存储在 localStorage 里面的数据没有过期时间 兼容性:IE9+、Firefox(56+)、Chrome(49\61+)、Opera(10.50)、Safri(10.1+) # visibilitychange visibilitychange 描述:浏览器标签页被隐藏或显示的时候会触发visibilitychange事件。 兼容性:IE(ms10\11+)、Firefox(56+)(moz10)、Chrome(49\61+)(Webkit13)、Opera(12.10)、Safare(10.1+) # onbeforeunload onload onunload onpageshow onpagehide onerror onbeforeunload 描述:该事件在即将离开页面(刷新或关闭)时触发,销毁页面前触发 onload 描述:一张页面或一幅图像完成加载。页面第一次加载触发(浏览器缓存中读取时不触发)。 PageTransitionEvent可以判断什么样子加载。 onunload 描述:用户退出页面。 ( 和 ),销毁页面后触发,无法缓存页面 onpageshow 描述:在用户浏览网页时触发,每次加载页面触发 兼容性:IE11+ onpagehide 描述:在用户离开网页时触发,可以缓存页面 兼容性:IE11+ onerror 描述:在加载文档或图像时发生错误。 ( , 和 ) # window.self window.top window.parent window.self 功能:是对当前窗口自身的引用。它和window属性是等价的。 语法:window.self 注:window、self、window.self是等价的。 window.top 功能:返回顶层窗口,即浏览器窗口。 语法:window.top 注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。 window.parent 功能:返回父窗口。 语法:window.parent 注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。 在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。 判断当前窗口是否在一个框架中: