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

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

相关文章

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT