javascript

位置:IT落伍者 >> javascript >> 浏览文章

巧用JavaScript记录网站访问次数


发布日期:2022年07月11日
 
巧用JavaScript记录网站访问次数
我们知道Cookie是记录访问你站点的用户的信息它驻留在用户的硬盘上如果该用户再次返回你的站点则该cookie就会被一起发回到你的服务器中便于你统计和处理重复到访者的信息在IE和NS两个浏览器中都提供了对Cookie的支持并且允许我们用JavaScript或者VBScript去操作它们

为了简单了解一下Cookie读写的原理请看以下例子

写Cookie

<script>

functionsetCookie()

//建立设定Cookie的函数

{varthe_visits=;

//初始化VISIT即访问次数为

varthe_cookie=Ware=uservisits:

+escape(the_visits);

//加入自己的标识符并用escape函数对Cookie编码

okie=the_cookie;//写入Cookie

}

</script>

这样将生成一个字符串Ware=uservisits:就是把一个名为Ware的Cookie保存到硬盘里该Cookie的值就是uservisits:当我们读Cookie的时候只需寻找名字为Ware的Cookie然后用unescape解码读出访问次数

读Cookie

<script>

functionreadCookie()

{varthe_cookie=okie;

//获得已写的Cookie值

varbroken_cookie=the_cookiesplit(:);

//找出分隔符

varthe_visits=broken_cookie[];

//读出分隔符后一部分

varthe_visits=unescape(the_visits);

//用unescape函数对Cookie解码

documentwriteln(Yourvisitsis:

+the_visits);//写出访问次数

}

</script>

这样将生成一个字符串Ware=uservisits:就是把一个名为Ware的Cookie保存到硬盘里该Cookie的值就是uservisits:当我们读Cookie的时候只需寻找名字为Ware的Cookie然后用unescape解码读出访问次数

读Cookie

<script>

functionreadCookie()

{varthe_cookie=okie;

//获得已写的Cookie值

varbroken_cookie=the_cookiesplit(:);

//找出分隔符

varthe_visits=broken_cookie[];

//读出分隔符后一部分

varthe_visits=unescape(the_visits);

//用unescape函数对Cookie解码

documentwriteln(Yourvisitsis:

+the_visits);//写出访问次数

}

</script>

最后在网页中加入<script>setCookie();readCookie();</script>就能记住访问的次数了

这个只是基本的原理实际操作还涉及到Cookie存放的路径什么时候失效它的有效作用域在那里以及检查访问次数是否存在等问题考虑到以上问题实际的程序如下

<html>

<scriptLanguage=JavaScript>

functionGookieVal(offset)

//获得Cookie解码后的值

{

varendstr=okie

indexOf(;offset);

if(endstr==)

endstr=okielength;

returnunescape(okie

substring(offsetendstr));

}

functionGookie(name)

//获得Cookie的原始值

{vararg=name+=;

varalen=arglength;

varclen=okielength;

vari=;

while(i<clen)

{

varj=i+alen;

if(okie

substring(ij)==arg)

returnGookieVal(j);

i=okieindexOf(i)+;

if(i==)break;

}

returnnull;

}

functionSookie(namevalue)

//设定Cookie值

{varargv=Sookiearguments;

varargc=Sookieargumentslength;

varexpires=(argc>)?argv[]:null;

varpath=(argc>)?argv[]:null;

vardomain=(argc>)?argv[]:null;

varsecure=(argc>)?argv[]:false;

okie=name+=+

escape(value)+((expires==null)?

:(;expires=+expirestoGMTString()))

+((path==null)?:

(;path=+path))+((domain==null)?

:(;domain=+domain))

+((secure==true)?;secure:);

}

functionDookie(name)

{varexp=newDate();

expsetTime(expgetTime());

varcval=Gookie(name);

okie=name+=+cval+;

expires=+exptoGMTString();

}

</script>

<script>

varexpdate=newDate();

expdatesetTime(expdategetTime()+

(****));

if(!(visits=Gookie(wave)))

{visits=;

Sookie(wavevisitsexpdate/nullfalse);

documentwrite(这是您第+visits+次光临本站);}

else{visits++;

Sookie(wavevisitsexpdate/nullfalse);

documentwrite(您已经第+visits+次光临小站);

}

if(visits<)

documentwrite(是小站的新手上路加油哦)

if(visits>=&&visits<)

documentwrite(是小站的初级站友不错嘛)

if(visits>=&&visits<)

documentwrite(是小站的高级站友很厉害啊!)

if(visits>=)

documentwrite(是小站的支柱我实在太感动了!)

</script>

</html>

在判断访问次数所表达的句子上你可以根据网站的风格改为有自己个性的话语相信如果访问者在你的网站上看到这些话留给他的印象一定很深刻这样就可以让你的网站更加吸引别人了               

上一篇:jquery获取表单元素里面的值示例代码

下一篇:重思JavaScript的好与坏