记一次统计用户浏览网站的时长

2023-12-26 02:18

本文主要是介绍记一次统计用户浏览网站的时长,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目需求:统计用户浏览该网站的时长
初始方案:只需要在根入口的的组件被销毁的时候通过axios请求接口,提交时间给后台,在实际测试的时候发现,请求还没发送过去就被取消,使用axios请求,是异步请求,导致页面卸载时,请求被取消。
解决方案:换成同步事件

<template><div id="app"><router-view/></div>
</template>
<script>import server_url from '../static/server.js'
import axios from "axios";
import { exists, constants } from "fs";
export default {data() {return {openTime: "",account: "",startDate: performance.now() // 获取当前时间的毫秒数};},mounted() {const that = this;this.account = this.$route.query.account;console.log(that.startDate, "that.that.startDate",this.account);//初始原因使用axios请求,是异步请求,导致页面卸载时,请求被取消window.onbeforeunload = function(e) {that.openTime = (performance.now() - that.startDate) / 1000;console.log(that.openTime, "that.openTime");var data = {account: that.account,date: that.changeDateTime(new Date()),openTime: parseInt(that.openTime)};//发送同步请求var oReq = new XMLHttpRequest();oReq.open("POST",`${server_url}/putuan/v1/dealer/browse/time`,false); // 同步请求oReq.setRequestHeader("Content-type", "application/json");oReq.send(JSON.stringify(data));};},created() {},methods: {changeDateTime(time) {const that = this;var date = new Date(time);var month = that.addZore(date.getMonth() + 1);var time =that.addZore(date.getHours()) +":" +that.addZore(date.getMinutes()) +":" +that.addZore(date.getSeconds());var dateStr =date.getFullYear() +"-" +month +"-" +that.addZore(date.getDate()) +" " +time;console.log(dateStr, "date");return dateStr;},addZore(value) {return ("0" + value).slice(-2);}}
};
</script>

这篇关于记一次统计用户浏览网站的时长的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/537788

相关文章

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0