|
后來經過兩位高手同事的指點(對這兩位同事的敬仰猶如滔滔江水連綿不絕...),恍然大悟,豁然開朗
成功地完成了此功能的添加。
首先來介紹一下Javascript中關于此功能的一些對象和方法:
1. window.event對象:
event代表事件的狀態,例如觸發event對象的元素、鼠標的位置及狀態、按下的鍵等等。
event對象只在事件發生的過程中才有效。
2. event.srcElement:
表示該事件的發生源 通俗一點說也就是該事件被觸發的地方
3. srcElement.parentNode:
表示該事件發生源的父結點
4. srcElement.tagName:
表示事件發生源的標簽名
5. toUpperCase():
大寫化相應字符串的方法
基本上就是這些屬性和方法,可能對于剛剛接觸Javascript的朋友們或者以前很少使用此類功能的朋友來說,這些對象有些陌生,不過沒關系,了解以后發現其實并不難,和Javascript驗證表單之類的并沒有太多的不同。
下面就結合程序給大家一步一步講解(程序難免有不合理之處,希望大家多多指正,共同進步):
第一部分:Javascript紀錄瀏覽動作。
復制代碼 代碼如下:
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; //取出事件發生源的名稱,也就是<a>和<a/>之間的文字,也就是鏈接名稱哈
address=srcElem.href+"_www.achome.cn_"; //取出事件發生源的href值,也就是該鏈接的地址
wlink=linkname+"+"+address; //將鏈接名稱和鏈接地址整合到一個變量當中
old_info=getCookie("history_info"); //從Cookies中取出以前紀錄的瀏覽歷史,該函數后面有聲明
//以下程序開始判斷新的瀏覽動作是否和已有的前6個歷史重復,如果不重復則寫入cookies
var insert=true;
if(old_info==null) //判斷cookie是否為空
{
insert=true;
}
else
{
var old_link=old_info.split("_www.achome.cn_");
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); //寫入cookie,該函數后面有聲明
history_show().reload();
break;
}
}
srcElem = srcElem.parentNode;
}
}
catch(e){}
return true;
}
document.onclick=glog;//使每一次頁面的點擊動作都執行glog函數
JavaScript技術:javascript結合Cookies實現瀏覽記錄歷史第1/3頁,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。