前言

从今年3月中旬微软的IE8发布到现在,差不多有4个月了,这期间一直协助国内的网络公司做IE8兼容性的工作。由于工作的性质原因,现在几乎是与人见面就问,你的网站与IE8兼容了吗?协助国内网站做IE8的兼容性,差不多是最近一段时间的工作的全部。

为什么不兼容性

为什么微软IE8发布后,要求网站去做兼容了,要回答这个问题,我们就必须看看微软IE的发展历程,就不难明白其中的原因。微软的IE6是通过XP、Win2003等操作系统发布出来,作为占统治地位的桌面操作系统,也使得IE占据了通知地位,许多的网站开发的时候,就按照IE6的标准去开发,而IE6自身的标准也是微软公司内部定义的。到了IE7出来的时候,采用了微软公司内部标准以及部分W3C的标准,这个时候许多网站升级到IE7的时候,就比较痛苦,很多代码必须调整后,才能够正常的运行。而到了微软的IE8这个版本,基本上把微软内部自己定义的标准抛弃了,而全面的支持W3C的标准,由于基于对标准彻底的变化了,使得原先在早期IE8版本上能够访问的网站,在IE8中无法正常的访问,会出现一些排版错乱、文字重叠,显示不全等各种兼容性错误。这个时候就必需想办法使得旧有的网站能够兼容,保证这些网站能够得到正确的显示结果。

用户怎么办?

作为一般的用户,在查看某个网站时候,发现当前的页面有了不兼容的情况产生时,可以鼠标轻轻的点击地址栏右边的兼容性视图切换按钮,则可以在兼容性模式下查看当前网页。如果不想这么麻烦,可以直接打开“工具”—“兼容性视图设置”对话框,把本地IE8浏览器设置为“使用兼容模式来查看所有网站”,那么这个时候你访问网站的时候,都可以在兼容模式下显示站点内容了。

网站提供商怎么办

从网站的角度看来,必需要自身做到兼容,使得那些采用IE8标准模式来查看网站的用户也能够得到正确的显示结果,通过在网站中做一些设置,使得客户查看你的网站时候,能够自动以兼容模式显示。

第一种办法,是在单个的页面中,添加兼容性标记,示例代码如下:

<html>
   <head>
   <!-- Mimic Internet Explorer 7 -->
      <title>我的网页</title>
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
   </head>
   <body>
      <p>内容在此处。</p>
   </body>
10 </html>
11

在这里添加兼容性标签后,只对当前页面有用,而且必须是在head标签内部,同时也必须是在其他css样式定义或者链接的前面,否则不会产生效果的。

第二种办法,就是在站点的配置文件中,修改web.config文件,使得该网站能够兼容,示例代码如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7">
      </customHeaders>
    </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”来查看。会得到一个如下图所示的兼容性视图网站列表:

image

 

 

 

还有就是微软能够为了IE8的兼容性,做出免费的技术支持,去协助网站做好兼容性的修复工作。

posted on 2009-07-03 16:20  月华  阅读(1827)  评论(0编辑  收藏  举报