一、採用location.hash+window.hashchange事件
1.不管是直接在鏈結標籤上指定hash(test)還是通過location.hash='#1234'設定hash都會導致瀏覽器位址列變化,從而觸發hashchange事件
2.hashchange事件中可通過event.newurl來獲取改變後的頁面位址,然後從該url中提取#後面的內容(一般是乙個頁面位址及引數)
3.通過ajax載入上一步提取到的頁面路徑,然後插入指定位置即可
二、通過history.pushstate和window.popstate事件
1.通過window.history.pushstate(資料物件,標題,url)可生成一條歷史記錄,該方法會導致瀏覽器位址列變更,但頁面不會發生跳轉
2.點選瀏覽器的前進、後退,或者location.hash發生變更時會觸發window.popstate事件,在事件中可通過event.state獲取第一步設定的資料物件
前端知識點
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 知識點 ul li 中預設選擇class active firstli rem...
前端知識點
css實現單行文字溢位顯示 overflow hidden text overflow ellipsis white space nowrap 實現多行文字溢位顯示 display webkit box webkit box orient vertical webkit line clamp 3 o...
前端知識點
關於html 1.html語義化標籤的理解 結構化的理解 能否寫出簡潔的html結構 seo優化 2.h5中新增的屬性 如自定義屬性data,類名classname等,新增表單元素,拖拽drag 3.h5中新增的api,修改的api,廢棄的api 稍作了解 離線儲存,audio,video 關於cs...