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