3
我運行一個簡單的:window.location.hash沒有創造瀏覽器歷史記錄條目
window.location.hash = "hash";
在URL頁面加載之後添加一個哈希值。我得到了mySite.com/aPage#hash。當我點擊後退按鈕時,我預計url會變回mySite.com/aPage,而不會有任何實際加載/返回。相反,我將在我的網站/頁面之前回到歷史記錄。
當我調用window.location.hash例如在由用戶觸發的點擊事件回調中。
我創建了一個測試:http://jsbin.com/idukiz/1/ 見代碼:http://jsbin.com/idukiz/1/edit
只有最後一個哈希setTimeout函數裏面添加的行爲像我期望的那樣。任何想法如何讓它在沒有setTimeout的情況下工作?
谷歌瀏覽器不需要這個,是嗎? Chrome會爲每個'location.hash'更改創建歷史記錄'...或者,如果它位於'onload'中,則不會創建歷史記錄? – Rudie 2013-03-26 21:07:15
這個問題是關於頁面加載時間之後的問題,其中'location.hash'通常不會更新歷史記錄。 – 2013-03-26 21:19:43
Actauly它不會運行/創建歷史記錄條目,即使在文檔就緒或窗口onload在鉻中。我只需要它在IE中,它在文檔準備好的地方工作。 – Hans 2013-04-05 11:38:44