解决IE7兼容模式下Extjs显示问题

来源:互联网 发布:淘宝双11折扣怎么设置 编辑:程序博客网 时间:2024/06/01 21:59

俺用Extjs做的一个网页遇到了一个奇怪的问题:好好的一个页面,有些人看起来完全正常,但在另外一些机器上就成了一团糟,而在代码上又看不出任何问题,比如下面这个对话框:

解决IE7兼容模式下Extjs显示问题 - 他乡 - 他乡的个人主页

 在一些人的机器上就成了这样:

解决IE7兼容模式下Extjs显示问题 - 他乡 - 他乡的个人主页
 
找了很久,最后发现原因在于IE8的一个奇怪的约定:对于所有内部网上的主机(包括localhost),它都会自动启动所谓的IE7兼容模式,在这个模式下,整个浏览器就像是IE7在运作,你会看到像下图中的一个图标闪现:
解决IE7兼容模式下Extjs显示问题 - 他乡 - 他乡的个人主页
而俺测试了一下Ext.isIE7,也确实是true——也就是说,EXTJS确实把它当成了IE7。
但是坏就坏在它这个所谓的兼容模式并不真正完全兼容,结果就出现了上面这种奇怪的现象。
 
而要解决这个问题倒也不难,只需在网页上加上这么一句即可:

 

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

 

这里IE=edge的意思是让IE自动适配最高可能的版本——这样,IE8就会把自己当成IE8,而不会去启动兼容模式,不管是内网还是外网。

参考:http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx

原创粉丝点击