vue埋点 记录在前端页面停留时间
import API from '@/modules/system/api/api_userTime'
const router = new Router({mode: 'history',base: process.env.BASE_URL,scrollBehavior: () => ({ y: 0 }),routes: constantRouterMap
})
// API 保存数据接口
let startTime = Date.now()
let currentTime
let standingTime = 0
let pageName = []
router.beforeEach((to, from, next) => {// 如果to存在,则说明路由发生了跳转if (to) {// 清空界面名pageName=[]// 离开界面// 第一步:页面跳转后记录一下当前的时间 currentTimecurrentTime = Date.now()standingTime = parseInt((currentTime - startTime) / 1000)from.matched.forEach(routeItem => {pageName.push(routeItem.meta.title)}) // ------------// 第二步:在这里把 currentTime - startTime 的 差值 发送给后端// ------------if(pageName.length > 0){const params = {// 界面pageName: pageName.join("-"),// 进入界面时间gmtCreate: '',// gmtCreate: new moment(startTime).format('YYYY-MM-DD HH:mm:ss'),// 离开时间gmtLeave: '',// gmtLeave: new moment(currentTime).format('YYYY-MM-DD HH:mm:ss'),/*** 进入或离开状态* enter进入* exit 离开*/type: 'exit',// 停留时长// duration: standingTime}API.add(params).then(function(result) {console.log(result)}).catch(function(result) {// console.log(result)})}// 第三步:每次都要初始化一下 startTimestartTime = Date.now()pageName = []// console.log('======== 分割线 ========')}if(from){// 进入界面to.matched.forEach(routeItem => {pageName.push(routeItem.meta.title)}) if(pageName.length > 0){const param = {// 界面pageName: pageName.join("-"),// 进入界面时间gmtCreate: '',// gmtCreate: new moment(startTime).format('YYYY-MM-DD HH:mm:ss'),// 离开时间gmtLeave: '',/*** 进入或离开状态* enter进入* exit 离开*/type: 'enter'}console.log(param);API.add(param).then(function(result) {console.log(result)}).catch(function(result) {// console.log(result)})}}next()
})
export default router
vue埋点 记录在前端页面停留时间相关推荐
- vue埋点 记录页面停留时间
vue记录使用日志 页面停留时间 import API from '@/modules/system/api/api_userTime' const router = new Router({mode ...
- jquery记录用户访问页面停留时间
jquery记录用户访问页面停留时间示例代码: $(window).bind('beforeunload', function (e) {var end = new Date();//用户退出时间va ...
- Vue+elementUI从头开始构建前端页面(中篇-Table作妖)
传送门:Vue+elementUI从头开始构建前端页面(前篇-Starter搭建) 传送门:Vue+elementUI从头开始构建前端页面(中篇-Table作妖) 传送门:Vue+elementUI从 ...
- vue拖拽组件生成前端页面,vue组件拖拽自定义界面
vue如何使用vuex,vuex是vuex.js文件吗 . vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如:代码热更新,修改代码之后网页无 ...
- php记录登录时间,php记录 用户当前页面停留时间
onunload +JS定时器 + ajax 实现 每秒写一次数据库肯定是不行的资源释放都来不及,使用js计时器,在离开页面时,调用ajax异步插入数据库,即不延迟跳转,也不会占用资源,插入完就释放了 ...
- vue打包部署后,前端页面刷新后丢失
原因: 路由配置里模式不正确 找到router文件夹,里边文件中,找到 mode: 'history' 把这行注释掉
- java前端项目经验_web前端页面项目经验总结
项目时间:2016年4月5日--4月9日 项目名称:阿七果子园web前端页面 项目内容: 1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_banne ...
- vue项目进行前端埋点,记录页面停留时间
数据埋点在现在的项目开发中都是不较比常见的,尤其是在电商公司,数据的统计分析尤为重要,通过数据分析可以提升用户的购买体验,方便运营和产品调整销售策略等等.埋点就是网站分析的一种常用的数据采集方法. 目 ...
- iview构建基本html页面,写前端页面步骤----vue+iview
1:用iview构建基本HTML页面 2:在export default{ }中写一个data(){return:{变量:值}}全局对象,用于传递与绑定HTML参数. 3:在export defaul ...
最新文章
- 案例:来自Uber的Go语言GC优化实践
- 关于autorelease pool一个较好的理解
- python自定义线程
- Python+OpenCV学习(17)---摄像机标定
- 系统服务器端口怎么关闭了,如何关闭云服务器端口号
- 【clickhouse】配置ClickHouse分布式DDL记录自动清理
- Web项目启动加载数据至内存--SpringApplicationListener实现
- 域中5种操作主机的迁移与抢夺
- 二分查找以及数组下标的移动规律
- ASP.NET MVC扩展自定义视图引擎支持多模板动态换肤skins机制
- Linux安装JDK步骤
- Data Structure - Doubly Linked List (Java)
- Leetcode 853 车队
- 频繁模式挖掘 (Frequent pattern mining):01 概念篇 (附例题)
- 二维数组调时候的传参问题 and 一维数组的中括号秘密( [ ] )——实参与形参的对应 —————— 开开开山怪
- OLAP实践 —— OLAP基本概念理解总计小记
- element el-transfer穿梭框的使用,自定义穿梭框的数据项
- Linux中的阻塞机制
- java 修饰符 详解,详解Java修饰符
- 激战2电信服务器哪个最多,玩家浅谈 激战2电信一区服务器派系之争