当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > ie7打开页面有源文件但页面空白问题的解决方法

HTML/XHTML教程
网页设计师如何应对客户无理要求
打开网页速度提升的简单而有效的方法
让IE8启动IE7兼容模式的简便代码
HTML的sub,sup标签制作电子商务网站中的价格
IE9关键字:硬件渲染,新的JS引擎,CSS,标准
让IE支持HTML5办法
HTML教程:HTML的10个表格相关标记
HTML教程:网页页面切换的各种效果
网页制作掌握的最常用的HTML标记
应该怎样把HTML结构化
XHTML基础教程:xhtml的块级标记
网页页面实现自动刷新的3种代码
网页制作教程:TD也可以溢出隐藏显示
网页设计教程:TabIndex元素
微软:IE9与HTML 5的关系
HTML设备标识符可以让用户使用网页与摄像头等硬件设备打交道
HTML5和CSS3的一些新变化
超级链接标记A的TARGET属性详解
语义化的网页:XHTML语义化标记
理论知识:PSD模板切成HTML的正确操作

HTML/XHTML教程 中的 ie7打开页面有源文件但页面空白问题的解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 273 ::
收藏到网摘: n/a

问题:
我博客编码是utf-8的。有时候打开页面是一片空白,刷新一下又正常了,但查看源文件又是完整的。在ie6和firefox下都正常,但是在ie7下偶尔会出现这样的情况。
一开始我怀疑是IDC的问题,后来又想到了js、css、页面结构等。偶然间我想到了编码。毕竟编码的问题已经不是一两次找过我麻烦了。
解决:
<title>软晨学习网</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
交换一下顺序
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>LC'BLOG</title>
原因:
为什么只有ie7会出现这样的问题呢?这是由于ie7解析网页编码时以html内的标签优先,而后才是http header内的讯息,而mozilla系列的浏览器则刚刚相反。
由于utf-8编码的页面为3个字节表示一个汉字,而普通的gb2313或big5是两个。页面输出时,由于上述原因,使浏览器解析、输出<title></title>的内容时,如果在</title>前有奇数个全角字符时,ie7把utf-8当作两个字节解析时出现半个汉字的情况,这时该半个汉字会和</title>的"<"结合成一个乱码字,导致ie7无法读完<title>部分,使整个页面为空百输出。而这个时候如果察看源文件的话,会发现实际上整个叶面全部已经输出了。
因此最简单的解决办法是在网页文件的<head></head>标签中一定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />放在<title></title>之前。
实际上,其他编码版本的也存在类似的问题,只是我们大家的浏览器默认编码都是 GBK 所以更不容易被察觉罢了。