使用Cookies保存網(wǎng)站歷史瀏覽記錄實(shí)例代碼
更新時(shí)間:2010年07月13日 00:29:44 作者:
仿淘寶網(wǎng)的最近瀏覽記錄功能,喜歡的朋友可以參考下。
下面的代碼,注意利用了cookies的多個(gè)增加判定等,學(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需再刷新一下頁(yè)面才能執(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需再刷新一下頁(yè)面才能執(zhí)行]
相關(guān)文章
typeScript中數(shù)組類型定義及應(yīng)用詳解
相信大家應(yīng)該都知道ts只允許數(shù)組中包括一種數(shù)據(jù)類型的值,下面這篇文章主要給大家介紹了關(guān)于typeScript中數(shù)組類型定義及應(yīng)用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05詳解JavaScript中Generator函數(shù)的使用
Generator 是 ES6 新增的一種函數(shù)類型,這篇文章主要來(lái)和大家詳細(xì)聊聊Generator函數(shù)的具體用法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06JS實(shí)現(xiàn)控制表格行文本對(duì)齊的方法
這篇文章主要介紹了JS實(shí)現(xiàn)控制表格行文本對(duì)齊的方法,涉及javascript操作表格樣式的相關(guān)技巧,需要的朋友可以參考下2015-03-03js判斷客戶端是iOS還是Android等移動(dòng)終端的方法
本文為大家介紹下使用js判斷客戶端是iOS還是Android等移動(dòng)終端,示例代碼如下,感興趣的朋友可以參考下2013-12-12如何通過(guò)遞歸方法實(shí)現(xiàn)用json-diff渲染json字符串對(duì)比結(jié)果
JsonDiff是一個(gè)高性能json差異發(fā)現(xiàn)工具,它幾乎可以發(fā)現(xiàn)任何JSON結(jié)構(gòu)的差異,并且將錯(cuò)誤信息反饋給用戶,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)遞歸方法實(shí)現(xiàn)用json-diff渲染json字符串對(duì)比結(jié)果的相關(guān)資料,需要的朋友可以參考下2022-12-12原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能,涉及javascript結(jié)合定時(shí)器的數(shù)值運(yùn)算與頁(yè)面元素屬性動(dòng)態(tài)修改相關(guān)操作技巧,需要的朋友可以參考下2018-08-08