引用了 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 的方法
// 适配器是全局公用的,默认适配方法有如下:
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';
});