JavaScript代码因逗号不规范导致IE不兼容的问题


Posted in Javascript onFebruary 25, 2016

在用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运行的话,其实是会报错的。那么既然代码已经写成这样了,怎么检测到这个问题呢!

JavaScript代码因逗号不规范导致IE不兼容的问题 

图1:File Search

如上图1所示,可以用eclipse的File Search功能,利用正则表达式进行搜索,正则表达式为,\s*}。不过,这有个问题,只能检索出上面的第一处错误,对于加了//或者/**/来注释的情况,是检测不出来。不过,你也可以用yuicompressor这样的js代码压缩工具来压缩代码,压缩的时候会将其中的所有的注释全部去掉,然后再来检测压缩后的js文件即可。当然,你也可以自己写算法来检测,不过,这个对于普通人来说还是有难度的!

不过,我建议用另一个方法,就是利用插件,我这里用的是Spket插件,Spket的官网是:http://www.spket.com/,可以到里面去下载Spket的eclipse插件,也可以直接在eclipse的market中下载,下载完以后安装下这个插件,然后将js文件用spket打开。

JavaScript代码因逗号不规范导致IE不兼容的问题 

图2:利用Spket检测

如上图2所示,可以发现Spket自动的检测了代码的不规范,将其中有问题的地方都标注了出来,我是建议用这个方法,因为可以在编写代码的时候,就发现问题,有助于写出规范漂亮的代码!另提一下,有些时候兼容性是因为使用的对象是IE中不存在的,比如console对象,在火狐和谷歌中是存在的,但是在ie中使用console.info就报错了!所以,记得把一些不兼容的对象从代码中剔除掉!

以上给大家介绍了JavaScript代码因逗号不规范导致IE不兼容的问题,希望对大家有所帮助!

Javascript 相关文章推荐
javascript学习笔记(十) js对象 继承
Jun 19 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
最短的IE判断var ie=!-[1,]分析
May 28 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
javascript随机抽取0-100之间不重复的10个数
Feb 25 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
Vue 换肤的示例实践
Jan 23 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
node.js +mongdb实现登录功能
Jun 18 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 #Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 #Javascript
jquery ztree实现模糊搜索功能
Feb 25 #Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
Feb 25 #Javascript
jquery实现列表上下移动功能
Feb 25 #Javascript
js简单判断移动端系统的方法
Feb 25 #Javascript
jquery ztree实现树的搜索功能
Feb 25 #Javascript
You might like
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
javascript 禁止复制网页
2009/06/11 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
详解js删除数组中的指定元素
2018/10/31 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
初中班主任评语
2014/04/24 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
导师对论文的学术评语
2015/01/04 职场文书
通报表扬范文
2015/01/17 职场文书
寒山寺导游词
2015/02/03 职场文书
投标售后服务承诺书
2015/04/29 职场文书
天气温馨提示语
2015/07/14 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
心理学培训心得体会
2016/01/22 职场文书
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL