之所以會(huì)發(fā)生導(dǎo)航疑問(wèn),有2個(gè)重要的緣由.
1.無(wú)法獲取Javascipt的當(dāng)時(shí)運(yùn)轉(zhuǎn)狀況;
2.瀏覽器無(wú)法將Javascript的狀況記錄到History目標(biāo).
因些要處理導(dǎo)航疑問(wèn),就必須高潮經(jīng)過(guò)一種機(jī)制來(lái)處理上述兩個(gè)疑問(wèn),這種機(jī)制需求滿意下面2個(gè)需求.
1.同一頁(yè)面的JavaScript狀況要可以得到保存,而且即便改寫也不會(huì)丟掉;
2.要可以讓瀏覽器把Javascript的操作記錄到history目標(biāo)中,經(jīng)過(guò)單擊[行進(jìn)]或[撤退]按鈕可以取得當(dāng)時(shí)目錄中表明
javascript狀況.
對(duì)于上述的2個(gè)需求,一種可行的方法是使用URL中的Hash參數(shù)(由"#"最初的標(biāo)簽參數(shù).)
Hash參數(shù)具有兩個(gè)特色:
1.當(dāng)改寫頁(yè)面時(shí),請(qǐng)參數(shù)可以得到保存;
2.當(dāng)改動(dòng)Hash參數(shù)時(shí),并不會(huì)致使頁(yè)面從頭載入,這是和QueryString(由"?"最初的查詢字符串)不一樣的當(dāng)?shù)?