今天寫個很簡單的功能只當是一個小結。
點擊量的基本流程都是這樣的:在點連結的時候,先轉到你設定的一個統計地址,然後重新導向到真實 地址。
我是通過ajax來實現這個流程。以實現友情連結和廣告公用這個功能。
先說說後台代碼部分
首先是友情連結部分的,他是有後台代碼產生HTML代碼如下
_GoodLink1.Append("·<a href='" + dr["LJDZ"] + "' target='_blank' title='" + dr["LJMC"] + "' onclick=\"UpdateTraffs ('LINK_TAB','LJID'," + dr["LJID"] + ",'DJCS')\">").Append (dr["LJMC"]).Append("</a>");
然後是廣告部分,廣告部分是由代碼產生動態js再由頁面引用js顯示廣告,下面是關鍵代碼;
sb.Append("' target='_blank' onclick=\\");sb.Append ("\"javascript:UpdateTraffs('AD_TAB','GGID'," + dv.Table.Rows[k] ["GGID"] + ",'DJCS')\\");sb.Append("\">
這個裡面最重要的是\\這個變數符的使用,這樣以保證在js中是以 onclick=\"javascript:UpdateTraffs'AD_TAB','GGID',1,'DJCS')\"的形式
中間資料參數的傳遞的關鍵就是js代碼如下
function UpdateTraffs(tabName,mainkey,keyValue,column)//要驗證的控制項ID,驗證的結果, 驗證的類型email|user
{
var http_request;
if (window.XMLHttpRequest)
{//對於Mozilla、Netscape、Safari等瀏覽器,建立XMLHttpRequest對象
http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// 對於Internet Explorer瀏覽器,建立XMLHttpRequest
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{}
}
}
http_request.open("POST","/Function/Traffic.aspx? _tabName="+tabName+"&&_mainkey="+mainkey+"&&_keyValue="+keyValue+"&& _column="+column+"",false);
http_request.send();
}