8
我使用history.js,我有一個事件處理程序如何更改狀態而不觸發history.js中的statechange?
$(window).bind('statechange', function(){
// Loads the content representing the state via ajax
});
大多數內容變化觸發了History.pushState([...])
當用戶點擊一個鏈接或按鈕。
但是在某些情況下,內容更改是由JavaScript直接管理的(即通過更改,添加或刪除DOM元素),並且不需要通過ajax加載表示新狀態的內容。
不過,我需要推動的狀態並更改URL以反映新的狀態,如果用戶重新加載命中或以後想使用後退按鈕等
所以我的問題是:如何做我推在某些情況下避免加載內容的狀態?是否有一種標誌可以傳遞給statechange事件處理程序,或者我可以完全繞過它嗎?
我自己的解決方案是類似的,除了我設置全局歷史對象的屬性。有關此問題的更多信息,另請參閱此問題(http://stackoverflow.com/questions/8744487/statechange-is-firing-whenever-i-do-a-push-state?rq=1)。 – jgivoni 2012-10-19 18:52:45