当前位置:首页 > VUE

vue实现页面停留时长

2026-02-21 22:13:11VUE

Vue 实现页面停留时长统计

使用生命周期钩子和计时器

在 Vue 组件中,可以通过 mountedbeforeDestroy 钩子来记录页面的进入和离开时间。创建一个计时器来计算停留时长。

vue实现页面停留时长

export default {
  data() {
    return {
      enterTime: null,
      leaveTime: null,
      duration: 0,
      timer: null
    }
  },
  mounted() {
    this.enterTime = new Date()
    this.timer = setInterval(() => {
      this.duration = Math.floor((new Date() - this.enterTime) / 1000)
    }, 1000)
  },
  beforeDestroy() {
    clearInterval(this.timer)
    this.leaveTime = new Date()
    const totalDuration = Math.floor((this.leaveTime - this.enterTime) / 1000)
    console.log(`页面停留时长:${totalDuration}秒`)
  }
}

使用路由守卫全局统计

在 Vue Router 的全局守卫中统计页面停留时长,适用于需要全局监控的场景。

vue实现页面停留时长

import router from './router'

let startTime
router.beforeEach((to, from, next) => {
  if (from.name) {
    const endTime = new Date()
    const duration = Math.floor((endTime - startTime) / 1000)
    console.log(`从 ${from.name} 离开,停留时长:${duration}秒`)
  }
  startTime = new Date()
  next()
})

结合本地存储或 API 上报

将停留时长数据保存到本地存储或通过 API 上报到服务器,便于后续分析。

export default {
  methods: {
    reportDuration(duration) {
      localStorage.setItem('last_page_duration', duration)
      // 或调用 API 上报
      // axios.post('/api/track', { duration })
    }
  },
  beforeDestroy() {
    const totalDuration = Math.floor((new Date() - this.enterTime) / 1000)
    this.reportDuration(totalDuration)
  }
}

使用第三方库

如果需要更复杂的功能,可以考虑使用专门的用户行为分析库,如 vue-analyticsmatomo

import VueAnalytics from 'vue-analytics'

Vue.use(VueAnalytics, {
  id: 'UA-XXX-X',
  router
})

通过以上方法,可以灵活地实现页面停留时长的统计和上报。

标签: 时长页面
分享给朋友:

相关文章

php实现页面跳转

php实现页面跳转

PHP 页面跳转方法 在 PHP 中,可以通过多种方式实现页面跳转,以下是几种常见的方法: 使用 header() 函数 header() 函数是 PHP 中最常用的跳转方法,通过发送 HTTP 头…

jquery页面

jquery页面

jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…

实现vue页面回退

实现vue页面回退

使用 Vue Router 的编程式导航 在 Vue 组件中调用 this.$router.go(-1) 可以实现页面回退。该方法通过操作浏览器历史记录栈实现后退功能,类似于点击浏览器的后退按钮。…

实现js页面跳转

实现js页面跳转

使用 window.location.href 通过修改 window.location.href 属性实现跳转,这是最常用的方法: window.location.href = "https://…

h5页面实现语音输入

h5页面实现语音输入

语音输入实现方法 H5页面实现语音输入主要依赖浏览器的Web Speech API,包括语音识别(SpeechRecognition)和语音合成(SpeechSynthesis)两部分。以下是具体实现…

vue实现页面导出

vue实现页面导出

Vue 实现页面导出为 PDF 或图片 使用 html2canvas 和 jsPDF 导出为 PDF 安装依赖库: npm install html2canvas jspdf --save 在 Vu…