Backbone.js Web应用程序在Internet Explorer上无法使用

Shi*_*pak 14 javascript internet-explorer internet-explorer-8 backbone.js

我开发了我的Web应用程序,没有在IE上测试它.虽然它在所有浏览器上工作正常.Chrome,Firefox,Safari但是当谈到IE时,会有一种奇怪的行为.

有时应用程序会加载,有时会加载空白页面,好像没有任何"绑定"事件有任何影响.

应用程序加载的幸运时间,导航面板部分丢失.我现在无法向您展示代码因为我不确定要显示哪个部分以及我在哪里做错了.

如果你们中的任何人都可以提供一份检查清单以及哪些工具适合在IE上进行调试,那么它会很棒.

如果你们中的任何人都可以告诉我IE上最常见的backbone.js错误,那么这也会有所帮助.

PS:我测试的IE版本:IE8

Gaz*_*ler 24

IE中的一些问题是:

对象上的尾随逗号:

例如

 App.model = Backbone.Model.extend({
   url: "/foo/bar",

   validate: function() {
   },
 });
Run Code Online (Sandbox Code Playgroud)

应该:

 App.model = Backbone.Model.extend({
   url: "/foo/bar",

   validate: function() {
   }
 });
Run Code Online (Sandbox Code Playgroud)

使用IE中不可用的功能 lastIndexOf()

要检查的第三件事是HTML无效.IE可能对您的HTML结构特别挑剔.确保所有打开的标记都具有匹配的关闭标记,或者自动关闭/>

如果您使用的是JSON方法JSON.parse(),JSON.stringify()那么请确保包含JSON库,例如JSON2.

  • +1尾随逗号和JSON是最重要的,另一个我遇到的是字符串上的`trim`函数 (7认同)