我想在一個AJAX應用程序中實現一個體面的導航。我現在正在做的是:聰明的方式來管理瀏覽器歷史
- 每當用戶點擊一個AJAX鏈接,相應的調用被執行並且哈希被改變。
- 無論何時加載新頁面,我都會檢查哈希是否存在,並進行相應的AJAX調用來更新頁面。這可確保書籤按預期工作。
- 每500ms我會檢查哈希值是否發生變化並執行相應的AJAX調用。這會照顧用戶按下後退/前進按鈕,儘管延遲很小。
第三點有點煩人:我寧願沒有每500ms只有一次超時檢查哈希,因爲大部分時間都會保持不變。
有沒有更好的方法來管理呢?我想不出任何替代品,但也許我錯過了一些東西。
請不要將我指向現成的解決方案,除非您知道它們基於不同的機制。
IE8,Firefox 3.6,Chrome 4和更新的瀏覽器支持hashchange事件。 Google's Closure Library(http://closure-library.googlecode.com/svn-history/r8/trunk/closure/goog/docs/class_goog_History.html)和YUI 3(http://developer.yahoo.com/yui/ 3/history /)將盡可能使用此事件,否則將退回到投票計劃。 – ide 2010-11-17 11:57:05