2016-10-11 27 views
0

JavaScript的:爲什麼不用chrome back/forward按鈕觸發popstate事件?

$(document).ready(function() { 

window.history.replaceState({some JSON}, "tittle", aHref); 

$(window).bind("popstate", function(){ 
alert("hello~"); 
}); 

}); 

當www.example.com頁面首先被加載時,上述被執行。然後在此頁面中單擊href並加載另一個頁面。此時,我點擊Chrome中的後退按鈕,沒有任何提示「hello〜」出現。但是通過aHref鏈接的頁面已加載。 爲什麼?

回答

1

如果你想前進/後退按鈕,以使導航,使用pushState,不replaceState

window.history.pushState({ "some": "object" }, "title", aHref); 

pushState方法增加歷史條目,而replaceState取代當前歷史記錄條目。

+0

對不起,我是一個新手到前端。 –

+0

「替換」表示刪除當前條目並推送新條目; 「推」意味着只推一個新條目。 這是正確的嗎? –

+0

如果我既不pushState也不replaceState,是否有一個新的條目添加到歷史? –

相關問題