Web 全埋点
全埋点采集默认是不采集,开关默认是关闭状态,需要您在页面接入SDK的代码window.zhuge.load()中,通过设置autoTrack参数,手动开启全埋点数据采集开关。
autoTrack:true //全埋点开关
1. 页面访问数据采集
开启全埋点数据采集后,SDK会将页面访问自动作为事件上传。页面标题会作为内置属性上传。
单页应用(SPA)页面访问事件采集时机
针对单页应用,除了在SDK载入时做一次默认的页面访问数据采集外,还针对不同路由类型做了支持,在window.zhuge.load()中,可以设置singlePage参数来指定,默认为false。
singlePage: true //单页应用
2. 页面点击数据采集
当用户在页面进行点击操作时,我们会检测点击行为是否有效,如果是一次有效的点击操作,则会上传该次点击行为数据。
点击行为在普通事件采集(track)基础上,增加了一些内置属性:
- $page_title:页面标题
- $element_id:元素id
- $element_content:元素的文本内容
- $element_type:元素的标签类型
- $element_style:元素的样式名称
- $element_selector:元素的选择器
SDK会自动为目标元素生成唯一样式选择器来作为元素的唯一标识,以便后续的数据分析等操作。如果元素拥有id属性,则选择器会优先以id选择器为准,否则会根据元素在父级中的索引位置,递归向上拼接选择器,直到某一个拥有id属性的元素或body根元素,因此页面实现我们建议dom树结构层级尽量精简或者适用id属性。
- $element_link:元素的链接地址
元素可点击判断规则
- 具有有效连接地址的a标签(超链接) 链接地址如果是以javascript开头,即认为该标签不是一个有效的超链接
- button元素
- 类型为button、reset、submit的input元素
- 绑定有click事件的其它任意元素
除了上述默认的一些判断外,我们还提供了页面点击的回调函数,来进行自定义的点击判断,回调函数需要返回Boolean值。如:
window.zhuge.load('appKey', {
autoTrack: true,
isClickAble: function(targetElement) { //targetElement为点击的dom元素
return true;
}
})
3. 关于表单提交和超链接跳转
由于表单提交和超链接跳转如果是发生在当前页面,则数据上传可能会因页面刷新导致上传中断,会极大影响数据的准确性,因此,如果跳转的目标页面是当前页面而非打开新页面,sdk会自动阻止页面的默认行为,并在事件上传的回调函数中执行页面跳转或表单提交,类似于:
< a href = "page1"id = "a" > </a>
<script>
$("a").onclick(function() {
var link = this;
zhuge.track('click', {
props...
},
function() {
location.href = link.href
});
return false
}
</script >
4. 注意事项
在分析场景中,诸葛io分析平台使用iframe加载您的网站页面,如果网站禁止了 iframe 加载,就无法正常分析。
如果您的网站使用HTTPS协议,需将配置修改成
X-Frame-Options: Allow-From https://www.zhugeio.com
如果您的网站使用http协议,需将配置修改成
X-Frame-Options: Allow-From http://www.zhugeio.com
页面的一次浏览访问或者页面的某个元素的一次点击,会被记为一个事件,对事件的总量上限限制会有影响。