1. json 数据中多余的逗号
:
代码 var man={ name:'zhang',
} 末尾多出一个逗号,
在 FireFox 下正常,
在 IE下会报错:缺少标识符、字符串或数字(Expected identifier, string or number
)。
这样的错误在文件中不太好找,我用ultraedit 的正则表达式 "
,[ ^t
^p
]+}
" 查找这样的错误 , 删除多余的逗号,即可
2. json 键值对的键侵犯了 IE 保留字
:
定义一个 json : var test = { export:'....' } , 键为 export
在 FireFox 下正常,
在 IE下会报错:缺少标识符、字符串或数字(Expected identifier, string or number
)。
修改为别的键值如 exportx 则没有问题,似乎 IE 有这样的关键字?是否还保留了别的呢?不得而知。但是类似这样的问题,在定义 json 时真得小心了,不能那么随心所欲。
可喜的是,根据西门兄弟的提示,给 json 名加上引号就没有后顾之忧了:
var test = { 'export' : '....' }
参考:
Javascript保留字(Javascript Reserved Words)
3. 取 json 值时,报错“对象不支持此属性
和
方法
(object doesn't support this property or method)”
:
原代码是从 jqgrid 中读取行数据,然后处理
// 读取 jqgrid 行,返回的值是JSON :
// {"rn":"1",...,"WorkType":"校准" }
var rowData = jqgrid_Samples_tab.getRowData( ids[i] );
cWorkType = rowData["WorkType"];
运行到 WorkType = rowData["WorkType"]; 就报错。修改成 WorkType = rowData.WorkType也一样。
后来修改成 var WorkType
= rowData["WorkType"]; 就可以了。再后来还发现,变量名和 JSON 键名不一样时,都不会报错,如 cWorkType = rowData["WorkType"] 也能正常运行。
在 JavaScript 中,为变量定义加上一个 var 则限定变量为局部变量,否则就默认为全局变量。为了测试变量范围在 IE 中对 JSON 的影响,以及变量名与JSON键名同名的情况,单独做了一个测试程序,又没有发现类似的问题。
是什么原因造成的这个错误呢 ? 以后在处理类似的问题时也得注意一下了,尽量不使用全局变量,或变量名不与JSON键同名。
分享到:
相关推荐
总结了一些常用属性在ie和firefox下的兼容问题,并附有相应的解决方法。
JavaScript在IE和Firefox(火狐)的不兼容问题解决
Javascript的IE和Firefox(火狐)兼容性解决方案
javascript404错误页面代码,较详细
Firefox与IE浏览器的javascript兼容性问题Firefox与IE浏览器的javascript兼容性问题Firefox与IE浏览器的javascript兼容性问题Firefox与IE浏览器的javascript兼容性问题Firefox与IE浏览器的javascript兼容性问题Fire...
Javascript在IE和FireFox中的兼容处理
Javascript的IE和Firefox兼容性问题集合
firefox与ie 的javascript区别
在IE和firefox中调试javascript的教程
Javascript在IE和FireFox中的不同表现,总结IE和火狐的差异。
Javascript调试,firefox插件,直接用Firefox打开安装
IE和firefox 调试 javascript css html 插件 exe文件为IE的,另一个为firefox的 AJAX开发必备
JavaScript Option onclick 事件 IE 解决方案及兼容 IE 和 Firefox JavaScript 中的 Option onclick 事件是用户在Select 元素中选择一个选项时触发的事件,但是在 Internet Explorer(IE)浏览器中,该事件无法正确...
css和javascript在IE和Firefox中二十三个不同点
总结javascript在IE和Firefox中兼容性问题
在安装好插件之后,先用Firefox浏览器打开需要测试的页面,然后点击右下方的绿色按钮或使用快捷键F12唤出Firebug插件,它会将当前页面分成上下两个框架,如图1所示。 图1:Firebug插件展开图示 从图1中看到,...
JavaScript画线,画图兼容FireFox,IE等浏览器
在firefox中调试javascript的详细步骤说明
整合了IE和FireFox下的旋转图片的方法。(非原创 忘了作者了 表骂我啊)
javascript的IE和Firefox兼容性汇编 1. document.form.item 问题 (1)现有问题: 现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 MF 下运行 (2)解决方法: 改用 document.formName....