javascript - Backbone.js 仅在 IE7 中导致错误

标签 javascript internet-explorer-7 hashchange backbone.js

我正在开发一个 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/

相关文章:

javascript - Socket.io - TypeError : socket. 不是一个函数

javascript - 任何人都知道这个网站 www.nikebetterworld.com 是如何完成的?

javascript直接按值访问二维数组元素

javascript - js forEach() 对每个元素执行操作

ASP.NET 表单设计器和 DPI/em 问题

css - IE 7 主 div 未显示

css - 并排 float 两个div

javascript - 如何在backbone.js事件委托(delegate)中使用 "hashchange"事件?

jquery - hashchange jQuery 不工作

php - PHP $_GET 能否用于使用 Hashchange 获取 URL 中的变量?