Skip to content
On this page

Pv

采集页面跳转的数据,主要原理是劫持history.pushState history.replaceState,以及监听popstate hashchange这两个事件

触发事件时生成的对象

属性名称说明
eventId根据时间戳计算得来的字符 (固定为pageId)事件ID
eventTypepv事件类型
triggerPageUrl当前页面URL
referer上级页面URL
titledocument.title页面标题
sendTime发送时间
triggerTime事件发生时间
actionnavigate / reload / back_forward / reserved页面加载来源
js
// 真实场景产生的事件对象
{
  eventType: 'pv',
  eventId: '134b23f7-56a67609-802eb5fc1a34fde9',
  triggerPageUrl: 'http://localhost:6656/#/pv',
  referer: 'http://localhost:6656/#/err',
  title: 'example-vue2',
  action: 'navigation',
  triggerTime: 1689728946196,
  sendTime: 1689728947199
}

action 字段解释

  • navigate - 网页通过点击链接,地址栏输入,表单提交,脚本操作等方式加载
  • reload - 网页通过“重新加载”按钮或者location.reload()方法加载
  • back_forward - 网页通过“前进”或“后退”按钮加载
  • reserved - 任何其他来源的加载

页面停留时间捕获

TIP

在每次跳转到新的页面时都会触发两个事件,分别为 pv 跳转页面事件、pv-duration 页面停留事件

上面讲的是pv事件,而这里讲重点讲一下 pv-duration 事件

首先其触发时生成的对象格式为

属性名称说明
eventId根据时间戳计算得来的字符 (固定为pageId)事件ID
eventTypepv-duration事件类型
triggerPageUrl当前页面URL(也就是在哪个页面发生的停留)
referer上级页面URL(停留页面的上一张页面)
titledocument.title页面标题
durationTime页面具体停留的时间
sendTime发送时间
triggerTime事件发生时间
actionnavigate / reload / back_forward / reserved页面加载来源