我正在开发一个 Web 应用程序,后端使用 CodeIgniter,前端使用 Backbone.js。 我还使用 HTML5 Boilerplate 作为我的开始模板。
我使用 Backbone 的 Controller 和 History 作为我应用程序的主要导航。我过去做过一次,一切正常。问题是,当我使用 Backbone.History.start() 开始 hashchange 事件捕获并单击链接 example.com/#home 时,url 中的哈希更改,事件被触发,但 2 秒后,哈希被清除从 url 和 javascript 错误仅在 ie7 中抛出。
我查看了源代码,在 IE7 中通过创建运行间隔检查哈希值更改的 IFRAME 实现了 hashchange 事件。
有人以前遇到过这个奇怪的错误并且知道如何解决这个问题吗?
最佳答案
使用 Backbone 处理#hash 基础应用程序的正确方法似乎是 Backbone.history.saveLocation( hash ) 和 Backbone.history.loadUrl() 之后启用 Controller 的路由。
希望我早知道这个... 享受这个很棒的 MVC 库的乐趣:)
关于javascript - Backbone.js 仅在 IE7 中导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4973936/