前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【视频5分钟】如何保持不同页面间的统计数据一致性?

【视频5分钟】如何保持不同页面间的统计数据一致性?

作者头像
web前端教室
发布2018-02-07 14:45:36
5980
发布2018-02-07 14:45:36
举报
文章被收录于专栏:web前端教室web前端教室

温馨提示:视频请点此观看

// 视频原文:

为了更好的掌握用户的需求,我们经常需要统计:

1、统计用户在站点的停留时长

2、收集页面链接的点击数量等

3、统计用户的鼠标行为

但经常会遇到以下问题:

1、统计点击,但点到链接后就页面跳转了;

2、统计的时候发送的数据丢了;

3、统计js还没运行,用户已经关页面了;

4、...

上述的那些问题如果归类的话,可以归为二类:

(1)、js统计脚本未加载;

(2)、页面关闭或跳转时,数据未成功发送;

第一种问题的解决还比较简单,就是直接把js注入到网页头,

让它先加载先运行。

第二种问题的解决方案就有点多样化了,

<!-- (1) -->

使用XMLHttpRequest方法的第三个参数,把它false,就是同步加载了,

这样就可以在readState为2的阶段,把请求发送出去。

<!-- (2) -->

加载一个空的图片,这样可以在浏览器等待的时候,把数据发出去,

上述二种方法,基本都是通过阻塞浏览器,等数据发完之后再跳转。

<!-- 优化方案一 -->

通过URL传参,其实说来也简单,就是给页面上所有的链接,都添加一些共同的标识,例如[siteId,pageId,modId,linkId...],这些id一起用来定义一个链接的位置,这样等用户操作完一系列的页面之后,会形成一条由数组构成的路径,这条路径将在最后的一个页面被用户发送出去。

<!-- 优化方案二 -->

就是使用window.name属性,这个值有一个特点,就是页面发生了跳转之后,它的值却不会变化,还可以跨域使用。

但它有个问题,就是会被其它人给覆盖操作了,所以如果要使用它的话,需要对window.name进行一些封装。

所以需要开发团队进行相应的“约定”。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • <!-- (1) -->
  • <!-- (2) -->
  • <!-- 优化方案一 -->
  • <!-- 优化方案二 -->
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档