ExtJS 3 不能在IE9下正常运行的简单解决办法
2013-04-18 16:24
309 查看
http://darkbaby123.iteye.com/blog/1017580
今天碰到一个问题,我们的一个项目是用ExtJS做的,但在IE9下几乎完全不能用。排除Bug半天后才发现是ExtJS本身就无法在IE9下正常运行。抛开一些细小的问题,最典型的就是TreePanel根本无法使用,节点都无法点开……google了一下,ExtJS的论坛里报了这个Bug,但貌似还没有完美的解决方案。
改ExtJS代价太大了,不如换一种思考方式,让IE9以兼容性模式运行,ExtJS完全没问题。于是便琢磨怎么在页面加载时就告诉IE9运行兼容性模式。好在IE官网就提供相关的信息。不得不说微软的MSDN还是挺不错的,虽然浏览器一直做的不咋地……
办法很简单,在head标签的第一行加入以下meta标签:
Html代码
![](http://darkbaby123.iteye.com/images/icon_star.png)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</head>
<body>
..
</body>
</html>
这样,IE9就会以IE8的文档模式来解析html。最好把这个meta放在head的第一行,否则不会产生效果。实际上,MSDN的文档说只要放在head中除了title和meta的所有其他标签之前就行,不过我试过好像没用,所以为了保险,还是放第一个吧。以下是MSDN文档的原话:
it must appear in the header of the webpage (the HEAD section)
before all other elements except for the title element and other meta elements.
另外,如果不清楚IE9运行在什么模式下的话,可以使用 document.documentMode 来查看IE9的运行模式,如果是IE9标准模式就会返回9,IE8模式则返回8。以此类推。
注:严格来说,此方法实际上是改变文档模式(document mode),而不是浏览器模式(browser mode)。实际上,IE9的兼容性模式是指的浏览器模式。对这两者的区别,有兴趣的可以去看看MSDN。
Define Document Compability
这个介绍的比较全面,什么是兼容性模式,怎么判断,怎么设定都有涉及,甚至包括怎么在web server中指定兼容性模式……
IE's Compability Features for Site Developers
介绍了几种浏览器模式(browser mode)和文档模式(document mode)。我主要是看这篇里面的几种文档模式区别的。
今天碰到一个问题,我们的一个项目是用ExtJS做的,但在IE9下几乎完全不能用。排除Bug半天后才发现是ExtJS本身就无法在IE9下正常运行。抛开一些细小的问题,最典型的就是TreePanel根本无法使用,节点都无法点开……google了一下,ExtJS的论坛里报了这个Bug,但貌似还没有完美的解决方案。
改ExtJS代价太大了,不如换一种思考方式,让IE9以兼容性模式运行,ExtJS完全没问题。于是便琢磨怎么在页面加载时就告诉IE9运行兼容性模式。好在IE官网就提供相关的信息。不得不说微软的MSDN还是挺不错的,虽然浏览器一直做的不咋地……
办法很简单,在head标签的第一行加入以下meta标签:
Html代码
![](http://darkbaby123.iteye.com/images/icon_star.png)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</head>
<body>
..
</body>
</html>
这样,IE9就会以IE8的文档模式来解析html。最好把这个meta放在head的第一行,否则不会产生效果。实际上,MSDN的文档说只要放在head中除了title和meta的所有其他标签之前就行,不过我试过好像没用,所以为了保险,还是放第一个吧。以下是MSDN文档的原话:
it must appear in the header of the webpage (the HEAD section)
before all other elements except for the title element and other meta elements.
另外,如果不清楚IE9运行在什么模式下的话,可以使用 document.documentMode 来查看IE9的运行模式,如果是IE9标准模式就会返回9,IE8模式则返回8。以此类推。
注:严格来说,此方法实际上是改变文档模式(document mode),而不是浏览器模式(browser mode)。实际上,IE9的兼容性模式是指的浏览器模式。对这两者的区别,有兴趣的可以去看看MSDN。
参考文档:
Define Document Compability这个介绍的比较全面,什么是兼容性模式,怎么判断,怎么设定都有涉及,甚至包括怎么在web server中指定兼容性模式……
IE's Compability Features for Site Developers
介绍了几种浏览器模式(browser mode)和文档模式(document mode)。我主要是看这篇里面的几种文档模式区别的。
相关文章推荐
- ExtJS 3 不能在IE9下正常运行的简单解决办法
- ExtJS 3 不能在IE9下正常运行的简单解决办法
- ExtJS 3 不能在IE9下正常运行的简单解决办法
- 用VS2005编译的应用程序在其它VS2005机器不能正常运行的原因和解决办法
- Flash Player插件在Win8.1中不能正常运行现象的解决办法介绍
- 关于HFSS13安装成功后报错不能正常运行的解决办法!
- 用VS2005编译的应用程序在其它VS2005机器不能正常运行的原因和解决办法
- fckeditor上传的小窗口在IE9下不能正常显示的问题解决办法
- sybase iq client 12.7安装之后不能正常运行相关解决办法
- [置顶] Google 谷歌不能正常访问简单解决办法
- [EXTJs]TabPanel动态生成,加载组件时,组件不能正常显示的解决办法
- Linux 安装MATLAB教程及安装完打开后出现Licensing error: -8,523.不能正常运行解决办法
- IIS不能正常运行aspx页面解决办法
- Extjs的Combobox 在card布局不宽度不能正常显示的解决办法
- 不能显示树型或树控件使用不正常的解决办法
- R编辑环境中不能正常显示英语的解决办法
- java工程项目运行正常但总有个小红叉和感叹号的解决办法
- IE6中运行EXTJS中某些组件无法解析DOMINO产生的JSON数据问题的解决办法
- wprintf_s不能正常输出中文的解决办法
- hexo运行后localhost:4000不能访问 解决办法