我一直在尋找幾個小時試圖做一個簡單的瀏覽器歷史操作。如何操作瀏覽器歷史記錄並捕獲瀏覽器後退/前進按鈕?
我有幾個菜單鏈接,我綁定單擊處理他們。鏈接'href的只是哈希:href="#Home"
或href="#About"
。
我想,當用戶點擊鏈接以顯示子頁面,而無需重新加載頁面,並更改瀏覽器的URL。
我也試過用pushState的(這個基本的例子),但它不工作: http://jsbin.com/wecubizovu/1/edit?html,js,console
當我在Chrome運行此,我想到的是,如果用戶點擊鏈接,他將#asd追加到url並且popstate不會更改。爲什麼popstate被觸發?我該如何做到這一點,以便當用戶點擊鏈接時,我將哈希追加到瀏覽器網址,當用戶點擊瀏覽器後退按鈕時,我捕捉到該事件並顯示我想要的頁面?
謝謝!
Oooooooh那是問題。我也剛剛發現,我添加了點擊處理程序的類,它每次調用兩次,因爲DOM傳播... 謝謝!爲了這個小細節,花了我幾個小時的時間... – 2015-02-06 20:03:19