JavaScript代码因逗号不规范导致IE不兼容的问题
作者:bea
在用ExtJS做前端开发的时候,发现系统可以在谷歌浏览器、火狐下正常显示,但是用IE浏览器打开就会报错,报错信息如:Expected identified, string or number。后来,检查的代码的时候发现,是由于js代码中逗号用的不规范导致的IE不兼容。 由于我是用eclipse来写代码的,下面我也就介绍怎么用eclipse来解决这个问题: 例如有下面这么一段不规范的代码: Ext.onReady(function() {var panel = Ext.cr
在用ExtJS做前端开发的时候,发现系统可以在谷歌浏览器、火狐下正常显示,但是用IE浏览器打开就会报错,报错信息如:Expected identified, string or number。后来,检查的代码的时候发现,是由于js代码中逗号用的不规范导致的IE不兼容。
由于我是用eclipse来写代码的,下面我也就介绍怎么用eclipse来解决这个问题:
例如有下面这么一段不规范的代码:
Ext.onReady(function() {
var panel = Ext.create('Ext.container.Viewport', {
layout : 'border',
items : [{
title : 'north panel',
html : 'north content',
region : 'north',
height : 100,
}, {
title : 'west panel',
html : 'west content',
region : 'west',
width : 150, // 这是备注1
}, {
title : 'main panel',
html : 'main content',
region : 'center',
/* 这是备注2*/
}]
});
});
可以看到,在100、150、center后面都有一个逗号(,),用IE运行的话,其实是会报错的。那么既然代码已经写成这样了,怎么检测到这个问题呢!
图1:File Search
如上图1所示,可以用eclipse的File Search功能,利用正则表达式进行搜索,正则表达式为,s*}。不过,这有个问题,只能检索出上面的第一处错误,对于加了//或者/**/来注释的情况,是检测不出来。不过,你也可以用yuicompressor这样的js代码压缩工具来压缩代码,压缩的时候会将其中的所有的注释全部去掉,然后再来检测压缩后的js文件即可。当然,你也可以自己写算法来检测,不过,这个对于普通人来说还是有难度的!
不过,我建议用另一个方法,就是利用插件,我这里用的是Spket插件,Spket的官网是:http://www.spket.com/,可以到里面去下载Spket的eclipse插件,也可以直接在eclipse的market中下载,下载完以后安装下这个插件,然后将js文件用spket打开。
图2:利用Spket检测
如上图2所示,可以发现Spket自动的检测了代码的不规范,将其中有问题的地方都标注了出来,我是建议用这个方法,因为可以在编写代码的时候,就发现问题,有助于写出规范漂亮的代码!另提一下,有些时候兼容性是因为使用的对象是IE中不存在的,比如console对象,在火狐和谷歌中是存在的,但是在ie中使用console.info就报错了!所以,记得把一些不兼容的对象从代码中剔除掉!
以上给大家介绍了JavaScript代码因逗号不规范导致IE不兼容的问题,希望对大家有所帮助!
有用 | 无用
由于我是用eclipse来写代码的,下面我也就介绍怎么用eclipse来解决这个问题:
例如有下面这么一段不规范的代码:
Ext.onReady(function() {
var panel = Ext.create('Ext.container.Viewport', {
layout : 'border',
items : [{
title : 'north panel',
html : 'north content',
region : 'north',
height : 100,
}, {
title : 'west panel',
html : 'west content',
region : 'west',
width : 150, // 这是备注1
}, {
title : 'main panel',
html : 'main content',
region : 'center',
/* 这是备注2*/
}]
});
});
可以看到,在100、150、center后面都有一个逗号(,),用IE运行的话,其实是会报错的。那么既然代码已经写成这样了,怎么检测到这个问题呢!
图1:File Search
如上图1所示,可以用eclipse的File Search功能,利用正则表达式进行搜索,正则表达式为,s*}。不过,这有个问题,只能检索出上面的第一处错误,对于加了//或者/**/来注释的情况,是检测不出来。不过,你也可以用yuicompressor这样的js代码压缩工具来压缩代码,压缩的时候会将其中的所有的注释全部去掉,然后再来检测压缩后的js文件即可。当然,你也可以自己写算法来检测,不过,这个对于普通人来说还是有难度的!
不过,我建议用另一个方法,就是利用插件,我这里用的是Spket插件,Spket的官网是:http://www.spket.com/,可以到里面去下载Spket的eclipse插件,也可以直接在eclipse的market中下载,下载完以后安装下这个插件,然后将js文件用spket打开。
图2:利用Spket检测
如上图2所示,可以发现Spket自动的检测了代码的不规范,将其中有问题的地方都标注了出来,我是建议用这个方法,因为可以在编写代码的时候,就发现问题,有助于写出规范漂亮的代码!另提一下,有些时候兼容性是因为使用的对象是IE中不存在的,比如console对象,在火狐和谷歌中是存在的,但是在ie中使用console.info就报错了!所以,记得把一些不兼容的对象从代码中剔除掉!
以上给大家介绍了JavaScript代码因逗号不规范导致IE不兼容的问题,希望对大家有所帮助!
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
- jQuery iScroll.js 移动端滚动条美化插件
- JavaScript 正则表达式中global模式的特性
- javascript动态获取登录时间和在线时长
- 基于javascript实现动态时钟效果
- jQuery使用zTree插件实现树形菜单和异步加载
- 灵活的理解JavaScript中的this指向
- jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
- jQuery插件实现文字无缝向上滚动效果代码
- jQuery zTree加载树形菜单功能
- JavaScript实现搜索框的自动完成功能(一)
- jquery插件之文字间歇自动向上滚动效果代码
- jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
- 利用jQuery中的ajax分页实现代码
- Jquery zTree 树控件异步加载操作
- jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
- js判断图片加载完成后获取图片实际宽高的方法
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- jquery zTree异步加载简单实例讲解