javascript 利用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='';
}
//必须严格按照以下的先后顺序:t,r,from,version
arr.push('t='+ (new Date()).getTime());
arr.push('r='+ref);
$(img).attr("src",url+ arr.join('&'));
}
};

(0)

相关推荐

  • js cookies实现简单统计访问次数

    复制代码 代码如下: <script type="text/javascript"> if(getCookie("num")){ var nn=parseInt(getCookie("num")); setCookie("num",++nn); }else{ setCookie("num",1); } function getCookie(name){ var str=document.cook

  • js统计页面的来访次数实现代码

    脚本说明: 把如下代码加入<body>区域中 复制代码 代码如下: <SCRIPT language="JavaScript"><!-- function getCookieVal(offset) {var endstr=document.cookie.indexOf(";",offset);if(endstr==-1) endstr=document.cookie.length;return unescape(document.coo

  • js实现统计字符串中特定字符出现个数的方法

    本文实例讲述了js实现统计字符串中特定字符出现个数的方法.分享给大家供大家参考,具体如下: //js统计字符串中包含的特定字符个数 function getPlaceholderCount(strSource) { //统计字符串中包含{}或{xxXX}的个数 var thisCount = 0; strSource.replace(/\{[xX]+\}|\{\}/g, function (m, i) { //m为找到的{xx}元素.i为索引 thisCount++; }); return th

  • JS实现统计复选框选中个数并提示确定与取消的方法

    本文实例讲述了JS实现统计复选框选中个数并提示确定与取消的方法.分享给大家供大家参考.具体实现方法如下: javascript部分如下: <script type="text/javascript"> function yesno() { var inputs = document.getElementsByName("ck[]"); var checked_counts = 0; for(var i=0;i<inputs.length;i++){

  • js 字数统计,区分英汉

    TEXTAREA{border-color=F00;background=TransParent;font=600 15/1.3;color=blue;height=100%;overflow-Y=hidden} #t{behavior=url(#default#time2)} 256)len++;info.innerText=len0+'字符\n'+len+'字节'" style='text-decoration=underline0;border-left=0' onbegin="

  • JavaScript实现网站访问次数统计代码

    作为一个网站的管理员或者说站长,都希望知道到底有多少人访问了网站,这个时候就需要有一个统计功能来满足需要,当然功能比较单一和简单,如果想要强大的统计效果,那最好还是使用现在比较成熟的统计工具,比如站长统计或者腾讯统计等等. 代码一: 代码如下: <script type="text/javascript"> var caution=false function setCookie(name,value,expires,path,domain,secure) { var cu

  • js统计录入文本框中字符的个数并加以限制不超过多少

    有些需求是为了更直观的体现用户在文本框输入文本时能看到自己输入了多少字,并且有些特殊的要求字数不超过多少,下面是实现: 复制代码 代码如下: <html> <head> <script src="jquery.js" type="text/javascript"></script> <script type="text/javascript"> function tjzs(){ var

  • JS 精确统计网站访问量的实例代码

    复制代码 代码如下: /** * vlstat 浏览器统计脚本 */var statIdName = "vlstatId";var xmlHttp;/** * 设置cookieId */function setCookie(c_name, value, expiredays) {    var exdate = new Date();    exdate.setDate(exdate.getDate() + expiredays);    document.cookie = c_nam

  • 统计出现最多的字符次数的js代码

    应用正则表达式的全局匹配,可以匹配出字符出现的次数,比较这些次数,将最大的保存并返回.代码如下: 复制代码 代码如下: var countMost = function(str){ if(!str) return; var _count = 0, _temp = 0, _reg, _char; for(var i=0; i<str.length; i++){ _reg = new RegExp(str.charAt(i), 'g'); _temp = str.match(_reg).length

  • JS实现在线统计一个页面内鼠标点击次数的方法

    本文实例讲述了JS实现在线统计一个页面内鼠标点击次数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/x

随机推荐