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 相关文章推荐
滚动经典最新话题[prototype框架]下编写
Oct 03 Javascript
javascript 循环读取JSON数据的代码
Jul 17 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
Jan 28 Javascript
Javascript中的关键字和保留字整理
Oct 16 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
webpack开发环境和生产环境的深入理解
Nov 08 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
基于Proxy的小程序状态管理实现
Jun 14 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 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
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
Python二叉树定义与遍历方法实例分析
2018/05/25 Python
Python import与from import使用及区别介绍
2018/09/06 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
区分python中的进程与线程
2020/08/13 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
database面试题
2013/03/28 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
实习鉴定范文
2013/12/19 职场文书
中英文求职信范文
2015/03/19 职场文书
投诉书格式范本
2015/07/02 职场文书
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript
代码复现python目标检测yolo3详解预测
2022/05/06 Python