|
网站建设 |
 |
|
 |
|
|
|
|
|

网站与IE8不兼容的解决 |
发布&更新:2009-11-21 |
浏览次数:12327 |
下载地址:点击下载 |
问题反馈:报告Bug |
为什么不兼容性 为什么微软IE8发布后,要求网站去做兼容了,要回答这个问题,我们就必须看看微软IE的发展历程,就不难明白其中的原因。微软的IE6是通过XP、Win2003等操作系统发布出来,作为占统治地位的桌面操作系统,也使得IE占据了通知地位,许多的网站开发的时候,就按照IE6的标准去开发,而IE6自身的标准也是微软公司内部定义的。到了IE7出来的时候,采用了微软公司内部标准以及部分W3C的标准,这个时候许多网站升级到IE7的时候,就比较痛苦,很多代码必须调整后,才能够正常的运行。而到了微软的IE8这个版本,基本上把微软内部自己定义的标准抛弃了,而全面的支持W3C的标准,由于基于对标准彻底的变化了,使得原先在早期IE8版本上能够访问的网站,在IE8中无法正常的访问,会出现一些排版错乱、文字重叠,显示不全等各种兼容性错误。这个时候就必需想办法使得旧有的网站能够兼容,保证这些网站能够得到正确的显示结果。 用户怎么办? 作为一般的用户,在查看某个网站时候,发现当前的页面有了不兼容的情况产生时,可以鼠标轻轻的点击地址栏右边的兼容性视图切换按钮,则可以在兼容性模式下查看当前网页。如果不想这么麻烦,可以直接打开“工具”—“兼容性视图设置”对话框,把本地IE8浏览器设置为“使用兼容模式来查看所有网站”,那么这个时候你访问网站的时候,都可以在兼容模式下显示站点内容了。 网站提供商怎么办 从网站的角度看来,必需要自身做到兼容,使得那些采用IE8标准模式来查看网站的用户也能够得到正确的显示结果,通过在网站中做一些设置,使得客户查看你的网站时候,能够自动以兼容模式显示。 第一种办法,是在单个的页面中,添加兼容性标记,示例代码如下: 1 <html> 2 <head> 3 <!-- Mimic Internet Explorer 7 --> 4 <title>我的网页</title> 5 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 6 </head> 7 <body> 8 <p>内容在此处。</p> 9 </body> 10 </html> 11 在这里添加兼容性标签后,只对当前页面有用,而且必须是在head标签内部,同时也必须是在其他css样式定义或者链接的前面,否则不会产生效果的。 第二种办法,就是在站点的配置文件中,修改web.config文件,使得该网站能够兼容,示例代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <system.webServer> 4 <httpProtocol> 5 <customHeaders> 6 <clear /> 7 <add name="X-UA-Compatible" value="IE=EmulateIE7"> 8 </customHeaders> 9 </httpProtocol> 10 <system.webServer> 11 </configuration> 12 第三种办法,就是在服务器级别对当前服务器做设置,使得服务器下面所有的站点都能够与IE8兼容性,这是推荐的做法,通过在服务器的配置花的时间最少,由于是整个服务器起作用,因此能很好的解决潜在的兼容性问题,具体设置可以参考以下资料介绍网站兼容的4个层次: 1、IIS,http://msdn.microsoft.com/zh-cn/library/cc817572.aspx 2、Apache,http://msdn.microsoft.com/zh-cn/library/cc817573.aspx 3、其他服务器,在后续的文章中会专门介绍一些主流的服务器中兼容性设置办法 微软怎么办? 作为微软公司说来,维护了一个“兼容性视图”列表,把目前没有兼容的网站放置到里面,只要用户同意接受来自微软公司更新的兼容性视图网站,那么则能够得到正确的结果。如果大家需要查看自己的网站是否在兼容性视图中,可以在IE8浏览器到地址栏里面,输入“res://iecompat.dll/iecompatdata.xml”来查看。会得到一个如下图所示的兼容性视图网站列表:
 |
|
返回 | 顶部 | 建站知识 |