使用Cookies保存網(wǎng)站歷史瀏覽記錄實例代碼
更新時間:2010年07月13日 00:29:44 作者:
仿淘寶網(wǎng)的最近瀏覽記錄功能,喜歡的朋友可以參考下。
下面的代碼,注意利用了cookies的多個增加判定等,學(xué)習(xí)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;
}
完整的效果演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
核心代碼:
復(fù)制代碼 代碼如下:
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;
}
完整的效果演示代碼:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關(guān)文章
typeScript中數(shù)組類型定義及應(yīng)用詳解
相信大家應(yīng)該都知道ts只允許數(shù)組中包括一種數(shù)據(jù)類型的值,下面這篇文章主要給大家介紹了關(guān)于typeScript中數(shù)組類型定義及應(yīng)用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05詳解JavaScript中Generator函數(shù)的使用
Generator 是 ES6 新增的一種函數(shù)類型,這篇文章主要來和大家詳細聊聊Generator函數(shù)的具體用法,文中的示例代碼講解詳細,感興趣的可以了解一下2023-06-06如何通過遞歸方法實現(xiàn)用json-diff渲染json字符串對比結(jié)果
JsonDiff是一個高性能json差異發(fā)現(xiàn)工具,它幾乎可以發(fā)現(xiàn)任何JSON結(jié)構(gòu)的差異,并且將錯誤信息反饋給用戶,下面這篇文章主要給大家介紹了關(guān)于如何通過遞歸方法實現(xiàn)用json-diff渲染json字符串對比結(jié)果的相關(guān)資料,需要的朋友可以參考下2022-12-12