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 19 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
May 11 Javascript
jQuery实现进度条效果代码
Dec 17 Javascript
延时加载JavaScript代码提高速度
Dec 27 Javascript
JS简单实现点击复制链接的方法
Aug 03 Javascript
关于webuploader插件使用过程遇到的小问题
Nov 07 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
原生JS实现幻灯片
Feb 22 Javascript
Vue 动态设置路由参数的案例分析
Apr 24 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 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实现的浏览器检查类
2016/04/11 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
javascript学习网址备忘
2007/05/29 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
js自定义回调函数
2015/12/13 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
详解Django框架中的视图级缓存
2015/07/23 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
python获取中文字符串长度的方法
2018/11/14 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
python颜色随机生成器的实例代码
2020/01/10 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
Python Http请求json解析库用法解析
2020/11/28 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
产品质量承诺书
2014/03/27 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
宣传委员竞选稿
2015/11/19 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书