2012年9月25日星期二

解决ExtJS在chrome或火狐中正常渲染,但是在ie中渲染出错的问题

解决ExtJS在chrome或火狐中正常渲染,但是在ie中渲染出错的问题

用ExtJS开发将近一年了,也遇到了很多奇怪的问题,印象最深的要算是ExtJS在ie中显示的问题了。由于开发过程中大多用chrome来调试,很少在ie中调试(现在两者都要兼顾),导致最后在ie中页面不能正常加载,当时那个囧啊,看到ie报的错,我都想哭,连出错的堆栈信息都没有(这一点,ie做的真不好),无从下手啊。尝试过N多方法,最后发现导致出现这种问题的原因(90%以上的可能性)是js的数组中多了一个英文的逗号',',而这种在chrome和火狐中是没有问题的,如下面的代码所示:

 1 var win = Ext.create('Ext.window.Window',{ 2     //此处省略若干代码 3     //........ 4     items:[ 5         { 6             title:'hello', 7             width:100, 8             height:100 9         },{10             title:'world',11             width:100,12             height:10013         },{14             title:'foo',15             width:100,16             height:10017         },//注意这里的英文逗号,在chrome和火狐中不会报错18     ]19     //此处省略若干代码20     //........21 })

这是浏览器对数组处理的一个差异。大家写代码的时候要注意一下,如果有类似的问题可以试着找找看,也许就能够解决了,我遇见过三次,都是这个问题。(完)^_^


TAG: