我從來沒有使用HTML5 onpopstate/pushState方法。不過,我正在構建(或已經構建)一個網站,在該網站中滾動頁面將地址欄中的散列值更改爲視口中當前顯示元素的ID。所以我在單頁面佈局上有一種瀏覽歷史和深層鏈接。使用hashchange的網站 - 查詢popstate事件是否可用?
我仍然通過設置top.location.hash
和使用hashchange()
函數來執行此操作。現在我遇到了這個新的HTML5 popstate/onPush狀態方法,並認爲這將是相互衝突的...
首先:使用這種方法的好處是什麼popstate/onPushState
?使用這個比使用top.location.hash
的經典方式更好嗎?表現更好嗎?
如果是這樣,有沒有辦法查詢或找出當前瀏覽器是否支持此方法?因此,我可以在現代瀏覽器中使用這些方法,並在舊版瀏覽器中以舊方式回退。
這可能嗎?如果是,比如何?
'使用hashtag解決方案,您只能添加新的。「 - 您可以使用'location.replace' – Quentin 2012-01-08 09:25:33