要件: ユーザーページのどこかのクリック数、またはプログラムの特定のポイントまで実行された回数をカウントします
機能: 実際の画像に基づいて複数の画像オブジェクトを作成します原則は、誰が自由で、誰が物事を行うかです。埋め込みポイント データの送信が速すぎるために、埋め込みポイントの一部が失われる問題を解決します。
実装: (次のコードは jQuery に依存していることに注意してください)
var Statistic= {
arrImg:[],
log:function(from){
//パラメータが空の場合、処理されません
if(typeof(from)=="未定義" || 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;
}
//Image オブジェクトを使用中としてマークします
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('& '));
}
}