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键同名。
分享到:
相关推荐
JavaScript在Firefox和IE之间的兼容性问题一直是前端开发者面临的一大挑战。由于这两个浏览器内核的不同,导致在处理某些JavaScript特性时存在差异。以下是一些常见的兼容性问题及其解决方案: 1. **Document.form....
- **模拟IE**:Firefox IE Tab扩展的核心功能是模拟Internet Explorer浏览器的渲染引擎,使用户可以在Firefox中看到网页在IE下的显示效果。 - **多版本支持**:该扩展不仅支持最新的IE版本,还可以选择回退到早期...
本篇将主要探讨JavaScript在Internet Explorer (IE) 和Firefox之间的兼容性挑战,并通过给出的文件名列表解析这些测试用例所涉及的知识点。 1. **createDocument测试.html** 在IE和Firefox中,创建XML文档的方法...
以下是一些常见的JavaScript在IE和Firefox上的兼容性问题及其解决策略: 1. **事件处理**:IE使用attachEvent方法添加事件监听器,而Firefox则使用addEventListener。为确保兼容,可以创建一个跨浏览器的事件处理...
总结来说,为了在Firefox火狐和旧版IE浏览器中实现“加入收藏”和“设为首页”的功能,需要编写兼容不同浏览器的JavaScript代码。上述代码提供了实现这两个功能的基本框架,但请注意,随着浏览器的更新和新功能的...
JavaScript是一种广泛应用于网页和网络应用的编程语言,它在客户端运行,为用户...通过阅读压缩包中的"JavaScript调试(Firefox).rar"和"JavaScript调试(IE).rar"文档,你可以更深入地学习这两个浏览器的具体调试技巧。
### 知识点详解:判断火狐(Firefox)或IE浏览器 在Web开发领域,浏览器兼容性一直是开发者面临的重要问题之一。不同的浏览器对Web标准的支持程度不同,这可能导致同样的网页在不同浏览器中的显示效果存在差异。为了...
JavaScript 兼容性问题在开发跨浏览器的网页应用时至关重要,尤其是针对IE和Firefox这两个具有显著差异的浏览器。本文将详细探讨这些差异,并提供相应的兼容性处理方案。 首先,我们来看函数和方法的差异。在...
### IE和Firefox的JavaScript兼容性问题详解 #### 1. `document.formName.item("itemName")` 问题 在处理表单元素时,IE 和 Firefox 对 `document.formName.item("itemName")` 的支持存在差异。 **说明:** - **...
在Firefox中,Venkman是一个强大的JavaScript调试器,专为深入理解JavaScript代码的行为而设计。以下是在Firefox中使用Venkman进行JavaScript调试的详细步骤。 ### 下载和安装Venkman 1. **方法1**:你可以直接...
火狐Firefox是一款深受全球用户喜爱的开源网络浏览器,它的24版本在当时被视为一个重要的里程碑。这个版本的Firefox以其稳定性、安全性和性能优化为特点,是开发者和测试人员的理想选择。下面将详细介绍Firefox 24...
JavaScript Option onclick 事件 IE 解决方案及兼容 IE 和 Firefox JavaScript 中的 Option onclick 事件是用户在Select 元素中选择一个选项时触发的事件,但是在 Internet Explorer(IE)浏览器中,该事件无法正确...
标题 "js 复制到剪贴板 ,兼容支持火狐firefox 和 ie" 涉及的是JavaScript编程中实现文本复制到系统剪贴板的功能,并且这个功能需要在Firefox和IE浏览器上都能正常工作。在Web开发中,允许用户将特定内容复制到剪贴板...
"mxGraph破解包含ie和firefox"的描述暗示了我们正在处理如何让mxGraph在这些特定浏览器上正常运行的问题。 首先,mxGraph主要基于现代浏览器的HTML5 Canvas和SVG技术,而这两个技术在旧版IE中并不完全支持。为了...
《Firefox火狐浏览器52.0.1-win32版本:深入解析与使用指南》 Firefox火狐浏览器,由Mozilla基金会开发,是一款全球知名的开源网络浏览器。本文将围绕"Firefox火狐浏览器官方52.0.1-win32版本exe安装包"进行详细...
总的来说,通过使用JavaScript和Excanvas库,我们可以实现在Firefox、IE以及其它现代浏览器上的跨平台图形绘制。这使得开发者能够创建出丰富的动态网页应用,无论用户使用何种浏览器,都能享受到一致的用户体验。
解决`resize`事件在Firefox中无效的问题,有以下几种策略: 1. **延迟绑定**:由于Firefox可能在页面完全渲染之前没有准备好`resize`事件,我们可以使用`setTimeout`函数延迟绑定事件监听器,确保在DOM完全加载后...
例如,IE可以接受`<li>`而不带闭合标签`</li>`的情况,但Firefox等浏览器则会报错。 #### 解决方案与最佳实践 - **标准化CSS代码**:使用如`Normalize.css`这样的工具来重置浏览器默认样式,减少不同浏览器间的...
在前端开发过程中,确保应用能够兼容旧版本的浏览器,如Internet Explorer (IE),是提高应用覆盖面的一个重要方面。Vue.js 作为一款流行的前端框架,在开发过程中可能会遇到与旧版IE的兼容问题。以下将详细解释在...