javascript 利用Image对象实现的埋点(某处的点击数)统计

 更新时间:2012年12月28日 10:26:00   作者:  
统计用户页面某处的点击数或者执行到程序中某个点的次数;根据实际情况,创建多个Image对象,原则谁空闲谁做事,解下来详细介绍,需要了解的朋友可以参考下
需求:统计用户页面某处的点击数或者执行到程序中某个点的次数
特点:根据实际情况,创建多个Image对象,原则谁空闲谁做事。解决因过快发送埋点数据导致部分埋点缺失的问题。
实现:(注下面的代码依赖jQuery)
复制代码 代码如下:

var Statistic= {
arrImg:[],
log:function(from){
//如果参数为空,则不处理
if(typeof(from)=="undefined" || from=="") return;
var me=this,img,imgHandler,arrImg,len=0,index=-1;
arrImg=me.arrImg;
len=arrImg.length;
//查询可用的Image对象
for(var i=0;i<len;i++){
if(arrImg[i].f==0){
index=i;
break;
}
}
//取出或者生成Image对象
if(index==-1){
img=$(new Image());
arrImg.push({f:1,img:img});
index=(len==0?0:len);
}else{
img=arrImg[index].img;
}
//标记Image对象为正在使用状态
arrImg[index].f=1;
//记录所使用的Image对象的位置
img.data("vid",index);
imgHandler = function(){
var vid=$(this).data("vid");
if(vid>=0){
arrImg[vid].f=0;
}
};
img.unbind().load(imgHandler).error(imgHandler);
var arr = [],ref,url="http://z.ccccccc.com/beacon.gif?";
ref = document.referrer;
if (ref) {
ref=encodeURIComponent(ref);
}else{
ref=&apos;&apos;;
}
//必须严格按照以下的先后顺序:t,r,from,version
arr.push(&apos;t=&apos;+ (new Date()).getTime());
arr.push(&apos;r=&apos;+ref);
$(img).attr("src",url+ arr.join(&apos;&&apos;));
}
};

相关文章

  • JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色

    JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色

    ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能,通过本篇文章给大家介绍JavaScript中使用sencha gridpanel 编辑单元、改变单元格颜色,感兴趣的朋友一起学习
    2015-11-11
  • 使用DeviceOne实现微信小程序功能

    使用DeviceOne实现微信小程序功能

    本文主要对小程序的优缺点和DeviceOne的特点进行介绍,分享了使用DeviceOne实现微信小程序功能的实例代码,具有一定的参考价值。下面跟着小编一起来看下吧
    2016-12-12
  • JS实现仿雅虎首页快捷登录入口及导航模块效果

    JS实现仿雅虎首页快捷登录入口及导航模块效果

    这篇文章主要介绍了JS实现仿雅虎首页快捷登录入口及导航模块效果,涉及JavaScript响应鼠标事件遍历页面元素的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • 浅谈JS中this在各个场景下的指向

    浅谈JS中this在各个场景下的指向

    这篇文章主要介绍了浅谈JS中this在各个场景下的指向,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • JS模仿腾讯图片站的图片翻页按钮效果完整实例

    JS模仿腾讯图片站的图片翻页按钮效果完整实例

    这篇文章主要介绍了JS模仿腾讯图片站的图片翻页按钮效果,涉及javascript动态操作页面元素属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • js关于命名空间的函数实例

    js关于命名空间的函数实例

    这篇文章主要介绍了js关于命名空间的函数,实例讲述了namespace函数的使用技巧,需要的朋友可以参考下
    2015-02-02
  • layer关闭弹出窗口触发表单提交问题的处理方法

    layer关闭弹出窗口触发表单提交问题的处理方法

    今天小编就为大家分享一篇layer关闭弹出窗口触发表单提交问题的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 薪资那么高的Web前端必看书单

    薪资那么高的Web前端必看书单

    由于前端开发的火热和一些IT巨头公司 对 web前端开发人员的需求旺盛,让越来越多的人转入前端。今天就为大家分享了一份Web前端开发书单,希望大家喜欢
    2017-10-10
  • Javascript实现页面滚动时导航智能定位

    Javascript实现页面滚动时导航智能定位

    本篇文章主要介绍了Javascript实现页面滚动时导航智能定位,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 微信小程序请求前置的方法详解

    微信小程序请求前置的方法详解

    这篇文章主要给大家介绍了关于微信小程序请求前置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论