history對(duì)象保存著用戶上網(wǎng)的歷史記錄,從窗口被打開(kāi)的那一刻算起。因?yàn)閔istory是window對(duì)象的屬性,南昌網(wǎng)站建設(shè)公司技術(shù)人員在此提示大家每個(gè)瀏覽器窗口、每個(gè)標(biāo)簽頁(yè)乃至每個(gè)框架,都有自己的history對(duì)象與特定的window對(duì)象關(guān)聯(lián)。出于安全方面的考慮,開(kāi)發(fā)人員無(wú)法得知用戶瀏覽過(guò)的URL。不過(guò),借由用戶訪問(wèn)過(guò)的頁(yè)面列表,同樣可以在不知道實(shí)際URL的情況下實(shí)現(xiàn)后退和前進(jìn)。
使用go()方法可以在用戶的歷史記錄中任意跳轉(zhuǎn),可以向后也可以向前。這個(gè)方法接受一個(gè)參數(shù),表示向后或向前跳轉(zhuǎn)的頁(yè)面數(shù)的一個(gè)整數(shù)值。負(fù)數(shù)表示向后跳轉(zhuǎn)(類似于單擊瀏覽器的“后退"按鈕),正數(shù)表示向前跳轉(zhuǎn)(類似于單擊瀏覽器的“前進(jìn)"按鈕)。來(lái)看下面的例子:
//后退一頁(yè)
history.go(-1);
//前進(jìn)一頁(yè)
history.go(1);
//前進(jìn)兩頁(yè)
history.go(2);
也可以給go()方法傳遞一個(gè)字符串參數(shù),此時(shí)瀏覽器會(huì)跳轉(zhuǎn)到歷史記錄中包含該字符串的第一個(gè)位置——可能后退,也可能前進(jìn),具體要看哪個(gè)位置最近。南昌網(wǎng)站設(shè)計(jì)公司技術(shù)人員認(rèn)為,如果歷史記錄中不包含該字符串,那么 這個(gè)方法什么也不做,例如:
//跳轉(zhuǎn)到最近的jxbh.cn頁(yè)面
history.go("jxbh.cn");
//跳轉(zhuǎn)到最近的jxbht.com頁(yè)面
history.go("jxbht.com");
另外,還可以使用兩個(gè)簡(jiǎn)寫(xiě)方法back()和forward()來(lái)代替go()。顧名思義,這兩個(gè)方法可以模仿瀏覽器的“后退"和“前進(jìn)"按鈕:
//后退一頁(yè)
history.back():
//前進(jìn)一頁(yè)
history.forward():
除了上述幾個(gè)方法外,history對(duì)象還有一個(gè)length屬性,保存著歷史記錄的數(shù)量。這個(gè)數(shù)量包括所有歷史記錄,即所有向后和向前的記錄。對(duì)于加載到窗口、標(biāo)簽頁(yè)或框架中的第一個(gè)頁(yè)面而言,history.length等于0。通過(guò)像下面這樣測(cè)試該屬性的值,可以確定用戶是否一開(kāi)始就打開(kāi)了你的頁(yè)面:
if (history.length==O){
//這應(yīng)該是用戶打開(kāi)窗口后的第一個(gè)頁(yè)面
}
雖然history并不常用,但在創(chuàng)建自定義的“后退"和“前進(jìn)"按鈕,以及檢測(cè)當(dāng)前頁(yè)面是不是用戶歷史記錄中的第一個(gè)頁(yè)面時(shí),還是必須使用它。
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.gimmickmag.com 如轉(zhuǎn)載請(qǐng)注明出處!