2.2.3 在标记中定位Quirks模式和文档模式
网页可以在<head>内使用X-UA-Compatible <meta>标记来选择一种特定的模式。代码清单2-1使用<meta>标记来通知IE:应当以IE 7模拟模式(IE=EmulateIE7)来加载一个网页。
代码清单2-1 HTML <meta> Compatibility头示例
<!-- Load page in IE7 Emulation Mode -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
希望使用较旧标准解释的较旧网页可以使用DOCTYPE头和<mea>标记,并将这一决定告知IE。代码清单2-2给出一个网页,它使用松散HTML 4.0规范,并希望以Quriks(IE 5)模式进行显示。
代码清单2-2 DOCTYPE和相应的X-UA-Compatible <meta>标记
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- Load page in IE5 (Quirks) Mode -->
<meta http-equiv="X-UA-Compatible" content="IE=5">
2.2.4 从服务器端定位文档模式
使用X-UA-Compatible <meta>标记指定文档模式是非常简单的,但它并不适用于所有场景。大型网站和内容管理系统(CMS)可能有数千个网页,有些服务器可能托管了数千个网站。对这些类型的网站和托管构造,要为每个网页都添加<meta>标记是不太可行的。
如果开发人员希望在一个Web服务器或者网站范围内应用一种IE模式,可以向任意Web服务器配置添加一个新的HTTP头来实现。这个头的名称为X-UA-Compatible,它的相关值代表了在该服务器配置内所托管网页的期望模式。这样不仅会在服务器范围内应用该设置,实际上,相对于META标记还能获得一点性能增益(因为IE是在分析该网页之前就知道这一模式了,而不是在分析之后才知道)。
1. 向IIS添加X-UA-Compatible头
开发人员可以通过Internet Information Services (IIS)管理器(可以在“控制面板”|“管理工具”中找到此管理器)向IIS添加X-UA-Compatible头。HTTP响应头配置(可以在全局设置或特定网站中找到)包含一个列表,其中包含为每个页面请求发送的响应头。兼容性头是通过这个配置页上的“添加”对话框来添加的,如图2-1所示。