在IE7中使用Backbone.js基于哈希的导航

时间:2011-03-15 19:37:17

标签: backbone.js

我正在使用基于哈希的导航构建Backbone.js应用程序。除IE7外,它在任何地方都能正常工在IE7中,当我点击更改哈希的链接时,会发生什么:

  • 页面更改
  • 哈希然后恢复到之前的值
  • 页面也会更改为上一页

我在加载每个页面后通过向控制器添加saveLocation调用来使链接工作,但是当我使用后退按钮或重新加载页面时,它总是将我带到主页而不是返回或重新加载当前页面。

如何使后退按钮和页面重新加载工作?

3 个答案:

答案 0 :(得分:2)

我对骨干进行了一些更改,以使其适用于我。你可以在这看看我的回购:

https://github.com/juggy/backbone

到目前为止对我有用。如果我打破了别的什么,我不知道。我从YUI和https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js启发了自己。

答案 1 :(得分:1)

我也遇到了与IE7相同的问题,并尝试了各种方式(saveLocation事物,Backbone补丁等)..但它没有成功。在通过许多页面切换时,IE7似乎有误解。

我的最终解决方案不是使用Backbone.history而是使用jQuery History Plugin。

http://tkyk.github.com/jquery-history-plugin/

我知道这是最糟糕的解决方法,因为此解决方案依赖于其他插件,但幸运的是,Backbone.Controller只处理您不必使用它的路由和状态处理。

jQuery History Plugin正常运行。

答案 2 :(得分:0)

答案已在Backbone.js cause bug only in IE7中发布。