在去年2月份IE8更新了User-Agent(简称UA)字符串,之后微软IE小组介绍IE8的兼容试图,前两天Windows团队发布了Windows 7测试版,所有这些事件都对UA字符串有着一定的影响。
Trident/4.0 User-Agent字符串
为了帮助用户访问阻止IE8 UA字符串的网站,IE8在用户使用兼容视图模式的时候,会向服务器发送IE7的版本信息。和Scott在去年八月所说的一样, Trident/4.0 User-Agent字符串允许服务器代码察觉兼容试图模式下的IE8。
微软推荐检测IE版本的最优方法是,页面开发者不要阻止浏览器UA字符串的内容。如果你想通过针对不同版本的浏览器提供不同的页面内容来改进页面的兼容性,你必须确保不要阻止任何版本浏览器的特性。
通过只基于一种UA字符串的服务器内容来探测全兼容模式的浏览器不是很可靠的方法,因为用户可能会调整设置,比如禁用脚本或者扩展。
Windows 7里的UA字符串
在Windows 7里,IE8发送的UA字符串将携带新的Windows NT版本标志(token):
它改变Windows 7浏览器的兼容性,尽管如此,“Windows NT 6.1”版本标记可能会引起少部分网页判断操作系统时出现问题,当用户在Windows 7里使用IE8访问这些网页时,可能会出现错误提示等信息,甚至打断访问。而兼容视图模式按钮也无法解决这些问题,因为兼容视图仅改变了IE版本,Windows 版本还是保持不变。为了使在Windows 7中使用IE8访问阻止“Windows NT 6.1” 版本字符串的网站,必须在注册表里临时更改Windows版本信息。
探测64位版本IE
携带4GB内存的机器越来越多,运行64位版本Windows的用户也越来越多,为了解决第三方插件的兼容性问题,32位版本的IE仍然是64位Windows里的默认版本。在某些情况下,它对网站识别用户使用64位系统的访问具有很大的作用,比如,某个网站可能需要自动识别是否需要为用户提供64位程序下载。
UA字符串里的标记可以让你知道用户是否使用Windows 64位系统,以及他们是否运行着64位IE:
WOW64代表“Windows on Windows 64-bit.”
扩展UA字符串
MSDN的文章Understanding User-Agent Strings,为用户提供通过改变注册表键值的方式在UA字符串里添加新的标记的方法。当然微软鼓励大家慎重添加额外的标记。UA字符串是在浏览器的每个HTTP/HTTPS请求头文件中发送,如果你需要添加标记,尽量越短越好,因为部分网站会拒绝过长的UA字符串,比如超过128个字符。
你可以在这里检测你浏览器所发送的UA字符串内容。
网友评论