当前位置: 移动技术网 > IT编程>开发语言>JavaScript > IE8下Extjs报缺少':'符号错误

IE8下Extjs报缺少':'符号错误

2019年11月06日  | 移动技术网IT编程  | 我要评论

先介绍下这个问题的由来:

上午其他项目组人员在rtx上问,求帮忙解决ie8兼容性问题。

然后快到饭点,知道这个bug肯定不是那么好解决,肯定不能耽误吃饭时间。

果断说,下午来弄。

 

下午3点开始去看这个bug。

具体问题就是:点击修改按钮报了缺少':',186行错误。

看了下他的代码186行,是空白行,上下行,也并没有:符号,这错误报的有点看不懂了。

不过这才有意思嘛,两下三下就解决的bug,干起来多没劲。

ie8真的很蛋疼,调试起来特别麻烦。调试模式开启,找到报错地方,‘treeselector’为空或不是对象,171行。

再定位到创建这个对象的地方。发现ie下就是创建不了这个对象,对象值为undefined,而chrome下却可以正常创建。

ext.create('ext.ux.treeselector',{

  ......

});

而这个创建对象的方法是完全没毛病,也看不出任何破绽。

就思考,创建对象为空,是不是ext.ux.treeselector没有加载出来导致的。

就在js文件头部require中加上‘ext.ux.treeselector’,天真的以为这样就可以解决了,去上个洗手间想着回头来应该就没啥问题。

回来被告知,还是报错,整个页面都打不开了。

然后报错信息出来了,报错信息:‘缺少':',186行,treeselector.js’;

因为reqiure预先加载了这个ext.ux.treeselector这个js出来,所以这个js的错误就提前暴露出来了。

 

找到jar包中的这个js源码,发现186行,arr.push({id,name}); 这种写法chrome下不会报错,而ie8下会报错。正确写法arr.push({id:1,name:'xx'})

bug解决。

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网