14
我遇到以下情況的問題。回到使用ajax的pushState條目
- 用戶訪問網站
- 用戶點擊鏈接,使用history.pushState更新URL(使用jQuery)
- 用戶點擊它加載了新的一頁 常規鏈接通過AJAX加載
- 部分頁面內容
- 用戶點擊回返回pushState的入口
- 頁面現在只顯示頁面的部分,其通過AJAX檢索
我已經使用pushState爲各種事物加速了一個網站,結果是一個令人震驚的響應式Web應用程序,但是這個問題阻止了我使用它。
下面的代碼示例:
$('a').live('click', function(){
history.pushState({}, '', this.href);
popstate(this.href);
return false;
});
popstate = function(url){
$('#content').load(url);
}
window.onpopstate = function(event){
popstate(window.location.href);
event.preventDefault();
}
注:
- 當它出現該事件是不是在步驟5觸發window.onpopstate功能放置警告這是一個錯誤?
- 僅當使用ajax時纔會出現此問題。
- 我不得不分開popstate函數,所以我可以在pushState後調用它。有沒有辦法手動觸發window.onpopstate事件?
這對我來說非常有幫助,這讓我非常困惑。我相信另一個解決方法可能會改變內容類型?但我不確定,我認爲最好的是,ajax網址畢竟不同於真實網址。 – Emiel 2013-10-12 15:02:54
非常感謝!我以爲我有另一個問題,顯然通過下面的鏈接解決。直到我找到這個簡單的解決方案,似乎沒有任何工作。 http://stackoverflow.com/questions/6421769/popstate-on-pages-load-in-chrome – 2013-11-07 00:34:25