web前端 json.parse兼容问题

IE8以下的浏览器要兼容的东西实在是太多,json也不例外

在IE7以下JSON.parse()转换成js对象会出现不兼容问题.

   var json={"name":"张三","age":18,"gender":"男"}

   var obj=JSON.parse(json);

   console.log(obj);    //在IE7以下浏览器会报错!!!

兼容方案一:

     使用eval()函数兼容:

               语法   var jsonStr=eval("("+json+")");  //注意: eval() '里面一定要用双引号把括号引起来然后拼接拿到的响应体

               此函数虽让强大,但不推荐使用.因为容易受到XSS攻击,就是向你的网页注入一段恶意代码,你的网页会执行这段代码,这就叫XSS攻击

 

兼容方案二:

       导入第三方库兼容:

                  引入json2.js,兼容所有浏览器.

                 不足:  只有IE7以下的浏览器才会出现JSON.parse兼容问题,其它流浪器打开不会出现兼容问题,但此时也用了json2.js库浪费用户流量.解决不足可以用到 css hack.

                   css hack语法:    gt:大于   lt:小于  gte:大于或等于  lte:小于或等于

                   <!--[if lte IE 7]>
                         <script src="json2.js"></script>    
                   <![endif]-->

                  //当浏览器小于IE7以下的版本才引入 json2.js

                   json2.js库下载:https://github.com/douglascrockford/JSON-js

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值