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 相关文章推荐
ajax 同步请求和异步请求的差异分析
Jul 04 Javascript
jquery星级插件、支持页面中多次使用
Mar 25 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
JavaScript事件 "事件对象"的注意要点
Jan 14 Javascript
JS产生随机数的几个用法详解
Jun 22 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
js 去掉字符串前后空格实现代码集合
Mar 25 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
Vue弹出菜单功能的实现代码
Sep 12 Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 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个人网站架设连环讲(三)
2006/10/09 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php中filter_input函数用法分析
2014/11/15 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
Symfony控制层深入详解
2016/03/17 PHP
JavaScript版代码高亮
2006/06/26 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
Python教程之全局变量用法
2016/06/27 Python
python实现朴素贝叶斯分类器
2018/03/28 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python Sympy计算梯度、散度和旋度的实例
2019/12/06 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
秋季运动会活动方案
2014/02/05 职场文书
小班上学期个人总结
2015/02/12 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书