不能执行extjs的解决办法
2014-03-08 10:09
225 查看
ExtJS 3
不能在IE9下正常运行的简单解决办法
博客分类:JavaScript
IE浏览器GoogleHTMLWeb
今天碰到一个问题,我们的一个项目是用ExtJS做的,但在IE9下几乎完全不能用。排除Bug半天后才发现是ExtJS本身就无法在IE9下正常运行。抛开一些细小的问题,最典型的就是TreePanel根本无法使用,节点都无法点开……google了一下,ExtJS的论坛里报了这个Bug,但貌似还没有完美的解决方案。
改ExtJS代价太大了,不如换一种思考方式,让IE9以兼容性模式运行,ExtJS完全没问题。于是便琢磨怎么在页面加载时就告诉IE9运行兼容性模式。好在IE官网就提供相关的信息。不得不说微软的MSDN还是挺不错的,虽然浏览器一直做的不咋地……
办法很简单,在head标签的第一行加入以下meta标签:
Html代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</head>
<body>
..
</body>
</html>
<!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。
相关文章推荐
- ie9 不能执行extjs的解决办法
- 不能执行已释放的Script代码”错误的原因及解决办法
- ExtJS 3 不能在IE9下正常运行的简单解决办法
- return false不能终止这个函数的执行de 解决办法
- JavaScript出现“不能执行已释放的Script代码”错误的原因及解决办法
- 转:"为自动填充列调整大小期间不能执行此操作"解决办法 .
- “不能执行已释放的Script代码”错误的原因及解决办法
- extjs的gridpanel的数据内容不能复制解决办法
- windows下的任务不能自动执行的解决办法
- extjs的gridpanel的数据内容不能复制解决办法
- Ecology8.1 系统中前端代码在IE8等低版本中不能执行的简单解决办法
- JavaScript出现“不能执行已释放的Script代码”错误的原因及解决办法
- extjs4 grid column filter 对于多层表头,不能给当前有filter 的column增加css的解决办法
- 安装qt-creator的二进制文件出现不能执行的解决办法
- ExtJS 3 不能在IE9下正常运行的简单解决办法
- 在IIS下,不能执行exe文件解决办法。
- 出现“不能执行已释放的Script代码”错误的原因及解决办法
- ExtJS gridPanel文本不能复制的解决办法
- ExtJs TreePanel 不能加载ashx数据的解决办法
- SQLServer2000中,DML语句中不能执行子查询的解决办法