軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。一般來(lái)講軟件被劃分為編程語(yǔ)言、系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。硬件是“計(jì)算機(jī)硬件”的簡(jiǎn)稱。與“軟件”相對(duì),電子計(jì)算機(jī)系統(tǒng)中所有實(shí)體部件和設(shè)備的統(tǒng)稱。
趣味計(jì)數(shù)器的做法是多種多樣的,并且理念不同做出來(lái)的趣味計(jì)數(shù)器也是不同的,而今天要教大家的是JavaScript的方法,該方法的關(guān)鍵是Cookie技術(shù)和動(dòng)態(tài)圖像特性的綜合運(yùn)用。使用Cookie,可以在用戶端的硬盤上記錄用戶的數(shù)據(jù),下次訪問(wèn)此站點(diǎn)時(shí),即可讀取用戶端硬盤的Cookie,直接得知來(lái)訪者的身份和訪問(wèn)次數(shù)等有關(guān)信息。JavaScript中通過(guò)document.cookie屬性訪問(wèn)Cookie,這個(gè)屬性包括名字、失效日期、有效域名、有效URL路徑等。用等號(hào)分開的名字和其值是Cook。

JavaScript教程之制作趣味計(jì)數(shù)器
ie的實(shí)際數(shù)據(jù),本例中用來(lái)存儲(chǔ)該訪問(wèn)者訪問(wèn)該頁(yè)面的次數(shù)。通過(guò)把Web頁(yè)中的圖像映射到一個(gè)Images數(shù)組,一定條件下修改該數(shù)組項(xiàng)的特性,可以實(shí)現(xiàn)動(dòng)態(tài)圖像顯示。本例中,首先預(yù)載入一組圖像,每次調(diào)用該Web頁(yè)時(shí),隨機(jī)產(chǎn)生新的一組圖像,通過(guò)覆蓋原圖像實(shí)現(xiàn)動(dòng)態(tài)的趣味性效果。
源程序count.html
《 html》
《 head》
《 meta http-equiv=″Content-Type″
content=″text/html; charset=gb2312″》
《 title》趣味計(jì)數(shù)器《 /title》
《 /head》
《 body》
《 p》《 script language=″JavaScript″》
var expdays=60;
var exp=new Date();
exp.setTime(exp.getTime()
。╡xpdays*24*60*60*1000));
function count(info){
//若是該訪客的第一次訪問(wèn),將計(jì)數(shù)器值賦1,否則加1累積
var wwhcount=getcookie(′wwhcount′);
if (wwhcount==null){
wwhcount=1;
}
else{wwhcount++;}
setcookie(′wwhcount′,wwhcount,exp);
return countdisp(wwhcount)
}
function countdisp(countvar){
//實(shí)現(xiàn)隨機(jī)顯示,不足6位以0補(bǔ)全,可以自己調(diào)整顯示位數(shù)
var countvar1=″000000″+countvar;
var howFar1=countvar1.length;
countvar1=countvar1.substring(howFar1, howFar1-1)
var index=″ ″+Math.floor(Math.random()*10);
if (index==″10″){
index=″0″};
for (var icount=0;icount《 6;icount++){
var g=countvar1.substring(icount,icount+1);
document.images[icount].src=″http:
//localhost/images/″+index+g+″.gif″;
}
}
function getCookieVal(offset){
//獲取該訪問(wèn)者的已訪問(wèn)次數(shù)
var endstr=document.cookie.indexOf(″;″,offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset,endstr));
}
function getcookie(name){
//截取Cookie中的name信息段
var arg=name+″=″;
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i《 clen){
var j=i+alen;
if (document.cookie.substring(i,j)==arg)
return getCookieVal(j);
i=document.cookie.indexOf(″ ″,i)+1;
if (i==0) break;}
return null;
}
function setcookie(name,value){
//存儲(chǔ)該訪客計(jì)數(shù)器的數(shù)值
var argv=setcookie.arguments;
var argc=setcookie.arguments.length;
var expires=(argc》2)?argv[2]:null;var path=(argc》3)?argv[3]:null;
var domain=(argc》4)?argv[4]:null;
var secure=(argc〉5)?argv[5]:false;
document.cookie=name+″=″+escape(value)
。ǎ╡xpires==null)?″ ″:(″;expires=″+expires.toGMTString()))
+((path==null)?″ ″:(″;path=″+path))+((domain==null)?″
″:(″;domain=″+domain))+((secure==true)?″;secure″:″ ″);
}
function deletecookie(name){
//使該信息行失效,刪除該用戶關(guān)于訪問(wèn)次數(shù)的信息
var exp=new Date();
exp.setTime(exp.getTime()-1);
var cval=getcookie(name);
document.cookie=name+″=″+cval+″;expires=″+exp.toGMTString();
}
《 /script》《 /p》
《 ! --預(yù)載入圖像數(shù)組--》
您是第 《 img src=″http://localhost/images/00.gif″ height=20 width=20》
《 img src=″http://localhost/images/00.gif″
height=20 width=20》
《 img src=″http://localhost/images/00.gif″
height=20 width=20》
《 img src=″http://localhost/images/00.gif″
height=20 width=20》
《 I mg src=″http://localhost/images/00.gif″
height=20 width=20》
《 img src=″http://localhost/images/00.gif″
height=20 width=20》次光臨!
《 script language=″JavaScript″》
//調(diào)用count()函數(shù),實(shí)現(xiàn)計(jì)數(shù)器的動(dòng)態(tài)圖像顯示
count();
《 /script》
《 /body》
《 /html》
注意事項(xiàng)
由于使用了JavaScript語(yǔ)言,因此該方法具有與應(yīng)用平臺(tái)的無(wú)關(guān)性,可以適用于Unix、Windows等多種平臺(tái)。另外,此計(jì)數(shù)器不同于一般意義上的訪客計(jì)數(shù)器,專門用于記錄某一訪客對(duì)某一網(wǎng)站的訪問(wèn)次數(shù)。