全国热线:0536-8800925
新闻动态

json.js与jquery 在ie下的bug问题及解决方法

因为jq只有个parseJSON,没有stringify,而在ie7下是没有支持原生window.JSON的,那么最好的选择是老道的json.js来和jq搭配了
 
<script src='jquery.js'></script>
 
<script src='json.js'></script>
 
<div class='a'>nick</div>
 
<script>
 
     $(function(){
 
         alert($(".a").html())
 
     })
 
</script>
 
额,看上去灰常的完美哇,运行下看看,
 
..........................................................
 
啊,不勒个是吧,控制台抛出error 该对象不支持该属性,why?
 
好吧,可以断点调试下,哦,我的ie7是在ie8下选择的ie7的浏览器模式,ie8带有开发者工具的
 
调试发现在jquery1.7.1的第4098行处
 if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {这个  exec 已经 被 置为了 underfined 了 ,, 于是 报错。但是,看整个代码,除开有而外的加了个json.js 其他的 ,都简单的不能在简单的demo了。那么如果有问题,应该就是json.js加载后 在 这个特定的浏览器环境下 和 jq.js冲突来吧。那么换下先后顺序 先加载json.js 然后加载 jquery.js继续运行,ok了。那么看来,在 ie7下,至少在 ie8的ie7模式下,先加载jq在加载 json.js 是 会有些问题的ps:在先加载jq后加载json.js的情况下,如果用id选择器和node选择器 都是 没问题的。单色 选择器中如果有     带.  的 类选择器才有会这样的情况存在,也就是说 会导致类选择器失灵。


把加载顺序颠倒一下 就OK
在线咨询
Tel

0536-8800925

关注我们微信