;(function(){
function getXpath (obj) {
var obj = obj.target||obj.srcElement;
var arr = [],
iTemp = 0;
function getTagIndex(tag) {
var begin = 0;
var firstChild = tag.parentNode.firstChild;
while (firstChild) {
if (firstChild == tag) return begin == 0 ? "": "[" + (begin +1) + "]";
if (firstChild.nodeType == 1 && firstChild.tagName == tag.tagName) begin++;
firstChild = firstChild.nextSibling
}
return ""
}
while (obj) {
arr[iTemp++] = obj.nodeName + getTagIndex(obj);
if (obj.tagName != "HTML") obj = obj.parentNode;
else break
}
console.log(arr.reverse().join("/"))
var img = new Image();// 创建一个image对象,发送数据,跨域相关
img.src = encodeURI() //只能用get方式
return arr.reverse()
}
function addEvent(elm,evType,fn,useCapture){
if(elm.addEventListener){
elm.addEventListener(evType,fn,useCapture);
return true;
}else if(ele.attachEvent){
var r = elm.attachEvent("on"+evType,fn);
return r;
}else{
elm["on",evType] = fn;
}
}
if(document&&document["documentElement"]){
addEvent(document,"mousedown",getXpath,false);
}else{
setTimeout(arguments.callee,16)
}
})()
http://caoyue.sinaapp.com/?p=45
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/85342.html
获取用户的交互习惯及喜好,进一步提升转化率,可以在之前的埋点方案实现中,都是在具体的按钮或者图片被点击或者被曝光时主动通过事件去上报埋点。但这种方法适合在埋点比较少时还行的项目,遇见项目中需要大量埋点时,添加的代码就太多了,就会埋点逻辑与业务逻辑的高耦合。 由此需要换种方式。我先给大家普及下埋点上报方式都有哪些? 手动埋点 可视化埋点 无痕埋点 手动埋点,顾名思义就是纯手动写代码,调...
摘要:异常监控包括前端脚本执行报错等。本文针对整个前端监控,设计适用的方案。前端埋点系统的前后端通信加密在上报数据的前后端通信中,需要和端协商加密机制,利用库来实现的加密,已经是一个广泛被采用的加密算法。 在线上项目中,需要统计产品中用户行为和使用情况,从而可以从用户和产品的角度去了解用户群体,从而升级和迭代产品,使其更加贴近用户。用户行为数据可以通过前端数据监控的方式获得,除此之外,前端还...
摘要:异常监控包括前端脚本执行报错等。本文针对整个前端监控,设计适用的方案。前端埋点系统的前后端通信加密在上报数据的前后端通信中,需要和端协商加密机制,利用库来实现的加密,已经是一个广泛被采用的加密算法。 在线上项目中,需要统计产品中用户行为和使用情况,从而可以从用户和产品的角度去了解用户群体,从而升级和迭代产品,使其更加贴近用户。用户行为数据可以通过前端数据监控的方式获得,除此之外,前端还...
阅读 3070·2023-04-26 00:07
阅读 2666·2021-11-15 11:37
阅读 950·2021-10-19 11:44
阅读 2410·2021-09-22 15:56
阅读 2072·2021-09-10 10:50
阅读 1722·2021-08-18 10:21
阅读 2783·2019-08-30 15:53
阅读 1842·2019-08-30 11:11