现在的位置: 首页 > 综合 > 正文

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

2018年05月14日 ⁄ 综合 ⁄ 共 949字 ⁄ 字号 评论关闭

使用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,而不会去启动兼容模式,不管是内网还是外网。

 

当添加这个语句之后,即便没有添加第一种方法的声明语句、或者声明语句补全的情况下,也是可以正常的显示页面,而不会出现白屏现象!

原文:http://blog.sina.com.cn/s/blog_a21b662f01017h8e.html

抱歉!评论已关闭.