您的位置:首页 > Web前端 > JavaScript

关于在使用EXTJS过程中页面出现白板的解决方法

2013-05-15 11:05 225 查看
使用Extjs过程中,在IE8中访问部分页面出现白板的情况,必须要用鼠标单击空白页面,EXT的界面才会出现,而只要再一次加载数据,那么就会出现白屏,需要重复以上的操作,令使用端烦不胜烦。



因项目的某些特殊要求,必须在IE环境下使用,为了能够让使用端正常的使用起来,采用了一个临时的解决方法:电脑操作系统上安装IE8浏览器,但是使用火狐的IEtab插件来访问项目,这样既能够避免这种白屏的发生,又能够满足项目的特殊要求。



虽然暂时解决了此问题,但此办法终究不是最终的解决之道,在调查研究、并尝试多次之后发现,该问题出在声明此网页遵循W3C所制定的DTD规则页面的声明语句中<!DOCTYPE
html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
,经比对,凡是出现该白屏的页面,这个声明语句要么就没有补上,要么就没有http://www.w3.org/TR/html4/loose.dtd",当将这个声明语句添加上之后,页面访问正常。





在问题的解决过程中发现,问题有可能来源于IE8的一个奇怪的约定:对于所有内部网上的主机(包括localhost),它都会自动启动所谓的IE7兼容模式,在这个模式下,整个浏览器就像是IE7在运作,你会看到地址栏后边有一个图标闪现:



而测试了一下Ext.isIE7,也确实是true——也就是说,EXTJS确实把它当成了IE7。

但是坏就坏在它这个所谓的兼容模式并不真正完全兼容,结果就出现了上面这种奇怪的现象。



而要解决这个问题倒也不难,只需在网页上加上这么一句即可:

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

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



当添加这个语句之后,即便没有添加第一种方法的声明语句、或者声明语句补全的情况下,也是可以正常的显示页面,而不会出现白屏现象!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐