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 相关文章推荐
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
自己的js工具_Form 封装
Aug 21 Javascript
基于jquery的模态div层弹出效果
Aug 21 Javascript
jQuery实现网页抖动的菜单抖动效果
Aug 07 Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
vue中如何创建多个ueditor实例教程
Nov 14 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 Javascript
layui监听select变化,以及设置radio选中的方法
Sep 24 Javascript
JS原型和原型链原理与用法实例详解
Feb 05 Javascript
vue 使用lodash实现对象数组深拷贝操作
Sep 10 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
推荐文章系统(一)
2006/10/09 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php不写闭合标签的好处
2014/03/04 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
小程序表单认证布局及验证详解
2020/06/19 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
python和shell获取文本内容的方法
2018/06/05 Python
python实现桌面托盘气泡提示
2019/07/29 Python
Pytorch之保存读取模型实例
2019/12/30 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
中学教师请假制度
2014/02/03 职场文书
团队激励口号
2014/06/06 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
陪护人员误工证明
2015/06/24 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python