我正在構建一個基於哈希導航的Backbone.js應用程序。除IE7外,它在任何地方都能正常工作在IE7中,當我點擊改變散列的鏈接,會發生什麼情況是:在IE7中使用Backbone.js基於哈希的導航
- 的頁面改變
- 哈希然後恢復到以前的值
- 的頁面改變到前一頁,以及
我通過加載每一頁後加入saveLocation
呼叫控制器取得了聯繫工作,但是當我使用後退按鈕或刷新頁面時,它總是需要我的主頁,而不是要回或重裝當前頁面。
我能做些什麼來使後退按鈕和頁面重新加載工作?
我正在構建一個基於哈希導航的Backbone.js應用程序。除IE7外,它在任何地方都能正常工作在IE7中,當我點擊改變散列的鏈接,會發生什麼情況是:在IE7中使用Backbone.js基於哈希的導航
我通過加載每一頁後加入saveLocation
呼叫控制器取得了聯繫工作,但是當我使用後退按鈕或刷新頁面時,它總是需要我的主頁,而不是要回或重裝當前頁面。
我能做些什麼來使後退按鈕和頁面重新加載工作?
我對主幹進行了一些更改以使其適用於我。你可以看看我在這裏的回購:
https://github.com/juggy/backbone
爲我工作至今。我不知道如果我打破了別的。我從YUI和https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js啓發自己。
我也有和你一樣的IE7問題,並嘗試過各種方式(保存位置,骨幹補丁等),但它沒有成功。看起來IE7在翻閱多頁時會產生誤解。
我最終的解決方案不是使用Backbone.history,而是使用jQuery History Plugin。
http://tkyk.github.com/jquery-history-plugin/
我知道這是最糟糕的解決方法,因爲該解決方案依賴於其他插件,但幸運的是,Backbone.Controller只是處理路線和狀態處理,你不必使用它。
jQuery歷史插件正常工作。
我已經在IE8,Firefox和Chrome中測試過你的分叉,它似乎在所有這些工作都很好。在IE7頁面重新加載工作正常(這是很好的),但是,當我使用後退按鈕並在幾次頁面之間導航時,歷史堆棧變得不正確。你的版本對IE7來說是一個不錯的改進,所以謝謝你! – 2011-03-15 23:28:29