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代码
Dec 15 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
自己封装的javascript事件队列函数版
Jun 12 Javascript
jquery实现的下拉和收缩效果示例
Aug 21 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
jQuery使用cookie与json简单实现购物车功能
Apr 15 Javascript
深入理解JavaScript定时机制
Oct 27 Javascript
JavaScript函数节流和函数防抖之间的区别
Feb 15 Javascript
javascript实现电脑和手机版样式切换
Nov 10 Javascript
如何为vue的项目添加单元测试
Dec 19 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获取表单所有复选框的值的方法
2014/08/28 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
php自动加载代码实例详解
2021/02/26 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
2013/12/14 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
bootstrap table实例详解
2017/01/06 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
Python3多线程操作简单示例
2018/05/22 Python
Windows下安装Scrapy
2018/10/17 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
python用700行代码实现http客户端
2021/01/14 Python
保送生自荐信范文
2013/10/06 职场文书
如何写好活动总结
2019/06/21 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技