引用了 jQuery 2.2 ,所以,别用 Ie8 看了
初始化
var tracker1 = new Tracker({ url: "统计的图片地址", fingerprint: 是否需要 fingerprint[指纹] 参数,默认 false, data: "全局参数字符串或对象", statAttr: 需要统计元素,附带的属性,默认为'stat', stopAttr: 停止统计冒泡的元素属性标志,默认为'statstop', statParam: 父层元素,参数配置属性,默认为'statparam' }); // 捕捉整个文档 tracker1.bindClick(document); // 捕抓某个区域,必须重置 statAttr, stopAttr, statParam 3 个属性,以防与 document 的统计冲突 tracker1.bindClick(document.getElementById('areaCapture'), { event: 'click', // 默认是 click 事件,表示 click 的时候,发起统计 statAttr: 'a-stat', stopAttr: 'a-statstop', statParam: 'a-statparam' });
文档捕捉测试:
尝试点击看看~
局部捕捉测试:
尝试点击看看~
适配器
为了让脚本在各个浏览器上,都能正常运行,所以设置了 适配器 的概念。
如果想让脚本,在IE系列,也能正常运行,请重写 querySelector 和 queryChild 的方法
如果想让脚本,在IE系列,也能正常运行,请重写 querySelector 和 queryChild 的方法
// 适配器是全局公用的,默认适配方法有如下: Tracker.setAdapter({ // 请返回单个dom元素 querySelector: function(selector) { return document.querySelector(selector); }, // 请返回单个dom元素 queryChild: function(root, selector) { return root.querySelector(selector); }, // 返回单个元素的属性 getAttribute: function(ele, attr) { return ele.getAttribute(attr); }, // 返回单个元素的HTML getHtml: function(ele) { return ele.innerHTML; }, // 返回单个元素的TEXT getText: function(ele) { return ele.innerText; } });
统计语法糖
为了让字符串,有更加强大的表现,提供了语法相关的语法糖,以及拓展
// 拓展字符串:获取当前元素的 css/display 属性,如设置属性: stat="display: CssDisplay_x,y" Tracker.addConverter('CssDisplay', function(adapter, options) { // options = { key: 当前统计的key属性, root: 当前拥有该属性的元素, type: 'CssDisplay', value: 'x,y', params: ['x', 'y'] } return options.root.style.display || 'block'; });