요구사항: 사용자 페이지 어딘가의 클릭 수 또는 프로그램의 특정 지점까지 실행된 횟수를 계산합니다.
특징: 실제 이미지를 기반으로 여러 이미지 개체를 만듭니다. 상황이며, 원칙은 누가 자유롭고 누가 일을 하는가입니다. 매몰점 데이터를 너무 빨리 전송하여 일부 매몰점이 누락되는 문제를 해결합니다.
구현: (다음 코드는 jQuery에 따라 다름)
var Statistic= {
arrImg:[],
log:function(from){
//매개변수가 비어 있으면 처리되지 않습니다.
if(typeof(from )=="undefine" || from=="") return
var me=this,img,imgHandler,arrImg,len=0,index=-1; arrImg=me.arrImg;
len=arrImg.length;
//사용 가능한 이미지 객체 쿼리
for(var i=0;iif(arrImg[i] .f==0){
index=i;
break;
}
}
//이미지 객체 검색 또는 생성
if(index==-1){
img=$(new Image());
arrImg.push({f:1,img:img})
index=(len==0?0:len); else{
img= arrImg[index].img;
}
//이미지 객체를 사용 중으로 표시
arrImg[index].f=1//기록 사용된 이미지 객체의 위치
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('& '));
}
};