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宝典学习笔记(下)
Jan 10 Javascript
Javascript 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
Mar 02 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
Angular2 http jsonp的实例详解
Aug 31 Javascript
vue iview实现动态路由和权限验证功能
Apr 17 Javascript
优雅的处理vue项目异常实战记录
Jun 05 Javascript
JavaScript JSON使用原理及注意事项
Jul 30 Javascript
Vue+Openlayers自定义轨迹动画
Sep 24 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使用smtp发送支持附件的邮件示例
2014/04/13 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
$()JS小技巧
2007/07/21 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
Javascript call及apply应用场景及实例
2020/08/26 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
线程和进程的区别及Python代码实例
2015/02/04 Python
Python中__name__的使用实例
2015/04/14 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
《世界多美呀》教学反思
2014/03/02 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
集中整治工作方案
2014/05/01 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
保护环境标语
2014/06/09 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技