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

时间:2022-04-27
本文章向大家介绍【视频5分钟】如何保持不同页面间的统计数据一致性?,主要内容包括"><!-- (1) -->、"><!-- (2) -->、"><!-- 优化方案一 -->、"><!-- 优化方案二 -->、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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

// 视频原文:

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

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进行一些封装。

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