互操作性与兼容性(6)

  

这一改变也可以通过IIS 7配置文件来完成。开发人员可以在%System32%/inetsev /config中.config文件的<customHeaders>部分添加<add>标记(见代码清单2-3)。

代码清单2-3  向IIS 7 Congif XML中添加X-UA-Compatible HTTP头

<?xml version="1.0" encoding="utf-8"?>

...

<configuration> ...a

<system.webServer> ...

<httpProtocol> ...

<customHeaders> ...

<add name="X-UA-Compatible" value="IE=EmulateIE7" />

2. 向Apache中添加X-UA-Compatible头

Apache允许在其全局上下文或者在其httpd.conf配置文件内定制头。和在IIS中一样,可以向这个配置中添加X-UA-Compatible头,允许开发人员或服务器管理员在特定IE模式下运行整个网站或服务器。在添加头之前,Apache配置必须加载mod_headers模块。一旦加载之后,就可以使用header set命令来指示所期望的IE模式(见代码清单2-4)。

代码清单2-4  为X-UA-Compatible添加全局头

Header set X-UA-Compatible "IE=EmulateIE7"

上面的例子说明如何设定全局X-UA-Compatible。大多数复杂的Apache配置都被设置为使用Apache的Configuration标记来托管多个网站。除了全局应用一个头之外,开发人员和管理员还可以将头放在一些指令中,例如<Directory>,<Files>,<Location>和<VirtualHost>,以限制其应用范围(见代码清单2-5)。

代码清单2-5  为X-UA-Compatible添加一个基于配置的头

<Directory /var/www/httpd/website>

Header set X-UA-Compatible "IE=EmulateIE7"

</Directory>

2.2.5  文档模式的功能控制

并非只有网站才会使用IE。兼容性对托管WebBrowser控件的桌面应用程序也非常重要。

希望选择一种特定文档模式的应用程序,可以通过特定进程文件名的FEATURE_ BROWSER_EMULATION功能控制键来做出选择。这个控制键可以在SOFTWARE\Microsoft\ Internet Explorer\Main\FeatureControl键中找到,可以放置在HKEY_LOCAL_ MACHINE和HKEY_CURRENT_USER配置单元中。对加载到该进程空间的任意WebBrowser控件实例,这一功能控制键将强制该实例以特定文档模式来运行所有网页。应用程序的可用模式列在表2-4中。

读书导航