为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

IE6 IE7 不支持 JSON

2018-07-15 4页 doc 51KB 18阅读

用户头像

is_196623

暂无简介

举报
IE6 IE7 不支持 JSONIE6 IE7 不支持 JSON JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述。 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 stringify 的简单对象。 parse 函数用来解析一个 JSON 文本(一个 JSON 格式的字符串)到一个 ECMAScript 值(例如 JSON 对象被解析为 ECMAScript 对象, JSON 数组被解析为 ECMAScript 数组,其它类型以此类推);stringify 则相反,它...
IE6 IE7 不支持 JSON
IE6 IE7 不支持 JSON JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述。 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 stringify 的简单对象。 parse 函数用来解析一个 JSON 文本(一个 JSON 格式的字符串)到一个 ECMAScript 值(例如 JSON 对象被解析为 ECMAScript 对象, JSON 数组被解析为 ECMAScript 数组,其它类型以此类推);stringify 则相反,它是将一个 ECMAScript 值解析为一个 JSON 格式的字符串, 比如将一个 ECMAScript 对象解析为一个 JSON 对象的字符串。 关于 JSON 的详细信息,请参考 RFC 4627 和 。 关于 JSON 对象的更多信息,请参考 ECMA-262 5th Edition 中 15.12 The JSON Object。 问题描述 IE6 IE7 IE8(Q) 不支持 JSON 对象。 造成的影响 使用了 JSON 对象的脚本代码在 IE6 IE7 IE8(Q) 中运行的时候可能会抛出异常,导致功能失效。 受影响的浏览器 IE6 IE7 IE8(Q) 问题 JSON 对象是在 ECMAScript 第 5 版中实现的,此版于 2009 年 12 月发布;IE6 IE7 与 IE8(Q) (IE8(Q) 相当于 IE 5.5) 发布时间比较早,没有在其 Javascript 引擎中实现该对象。 分析以下代码:
以上代码首先探测是否在 window 下存在 JSON 对象,然后简单测试了 JSON 对象的 par se 和 stringify 函数并输出(反)解析结果。执行代码,各浏览器中现如下: IE8(S) Firefox Chrome Safari Opera IE6 IE7 IE8(Q) 解决 可以使用 window.eval() 或 new Function(){} 的方式解析 JSON 格式字符串。如:
各浏览器中表现如下: 所有浏览器 可见,以上代码可以作为 JSON.parse() 跨浏览器的简单替换方案。同样 JSON.stringify() 可以通过判断类型加算法实现,这里不再赘述。 需要注意的是,这种解析 JSON 格式字符串的简单实现存在安全问题,被插入的恶意 JSON 字符串(比如获取用户的 cookie 信息)可能被解析并执行。 可以使用一些经过验证的安全成 熟的的解决方案,例如 json2.js 中的 JSON.parse() 或 jQuery.parseJSON()。
/
本文档为【IE6 IE7 不支持 JSON】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索