Javascript location.hash不会在第一次单击“浏览器后退”按钮时更改为上一个哈希值,而只会在第二次单击时更改

Javascript location.hash不会在第一次单击“浏览器后退”按钮时更改为上一个哈希值,而只会在第二次单击时更改,javascript,jquery,ajax,backbone.js,hash,Javascript,Jquery,Ajax,Backbone.js,Hash,我有一个主干路由应用程序,其中一些页面通过ajax加载, 我的主页url以1home.shtml结尾,我有账户设置页面,url是2settings.shtml/account_settings,还有一个是3settings.shtml/preferences 当我从第1页导航到第2页并单击“后退”按钮时,一切正常。 但当我浏览表单第2页到第3页(通过ajax加载)时,调用no page reload并单击back按钮,哈希url仍然是/preferences,页面不加载。但如果我再次单击,哈希将

我有一个主干路由应用程序,其中一些页面通过ajax加载, 我的主页url以1home.shtml结尾,我有账户设置页面,url是2settings.shtml/account_settings,还有一个是3settings.shtml/preferences

当我从第1页导航到第2页并单击“后退”按钮时,一切正常。
但当我浏览表单第2页到第3页(通过ajax加载)时,调用no page reload并单击back按钮,哈希url仍然是/preferences,页面不加载。但如果我再次单击,哈希将更改为/account\u设置,页面将被加载。

是否启动了Backbone.history.start?是。。我打电话给Backbone.history.start;那么这就意味着在主干历史中url哈希并没有改变。如果不看实际的代码,就有点难以评论。