使用Cookies保存网站历史浏览记录实例代码
下面的代码,注意利用了cookies的多个增加判定等,学习cookies操作的朋友,非常值得一看。
核心代码:
代码如下:
function glog(evt){
evt=evt?evt:window.event;
var srcElem=(evt.target)?evt.target:evt.srcElement;
try{
while(srcElem.parentNode&&srcElem!=srcElem.parentNode){
if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A"){
linkname=srcElem.innerHTML;
address=srcElem.href+"|";
wlink=linkname+"+"+address;
old_info=getCookie("history_info");
var insert=true;
if(old_info==null){//判断cookie是否为空
insert=true;
}
else{
var old_link=old_info.split("|");
for(var j=0;j<=5;j++){
if(old_link[j].indexOf(linkname)!=-1)
insert=false;
if(old_link[j]=="null")
break;
}
}
if(insert){
wlink+=getCookie("history_info");
setCookie("history_info",wlink);
history_show().reload();
break;
}
else
{
var old_link1=old_info.split("|");
var length=old_link1.length
var newcookie=''
for(var j=0;length<=6?j<=length-1:j<=5;j++){
if(old_link1[j].indexOf(linkname)==-1)
{
if(j==length-1||j==5)
{
newcookie=newcookie+old_link1[j]
}
else
{
newcookie=newcookie+old_link1[j]+'|'
}
}
}
newcookie=wlink+newcookie
setCookie("history_info",newcookie);
history_show().reload();
break;
}
}
srcElem = srcElem.parentNode;
}
}
catch(e){}
return true;
}
完整的效果演示代码:
仿淘宝网的最近浏览记录功能
//cookie相关函数
function getCookieVal(offset){
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function getCookie(name){
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i ↑"+""+wlink[0]+"
");
}
document.getElementById("history").innerHTML=content;
}
}
else{
document.getElementById("history").innerHTML="对不起,您没有任何浏览记录!";
}
}
您最近关注的内容(只显示6个最近关注的内容并且不会重复出现):
history_show();
请选择:
PHP
ASP.NET
JSP
C#
VB
VC
AJAX
DELPHI
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]