IE10 的 User Agent 字符串最初是在 IE10 平台预览第一版的时候发布的。在 Windows8 发布预览版中对 User Agent 字符串增加了两个补充,有助于服务器端对用户计算机的特征检测。
1、通过一个新的触摸标记用于检测计算机是否拥有触摸功能硬件。使用此标记,您可以给具有触摸功能的网站用户呈现一个更友好的触摸版网站(通常,正常情况下网站不提供更友好的触摸版)。即便用户具有触摸功能的硬件,也可以使用鼠标和键盘进行操作。在下面的例子你可以看到此标记在 User Agent 字符串中的显示:
在没有触摸硬件的计算机上,IE10返回的 User Agent 字符串:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
在具有触摸硬件的计算机上,IE10返回的 User Agent 字符串:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)
如果您要检测支持触控功能的客户端,若无法嗅探 User Agent 字符串 ,可使用 navigator.msMaxTouchPoints 来代替。如果该属性存在,并返回一个值大于零,表示用户的计算机具有触摸功能。例如:
hasTouch = navigator.msMaxTouchPoints> 0;
2、对于运行Windows RT的ARM设备,IE10 User Agent 字符串是一个新的架构标记。同时补充了其他架构中的现有值。下面的例子显示如何区分一些其他的配置:
在32位Windows上的32位IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
在64位Windows上的32位IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
在64位Windows上的64位IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
在Windows RT上的IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)
这些补充同时适用于桌面版和 Metro 风格版 IE10,因为他们使用相同的平台功能。我们建议围绕系统的功能(如触摸)通过特征检测,优化您的网站体验,而不是浏览器或环境检测。当内容依赖插件时,请使用 requiresActiveX 提示以帮助用户切换至桌面版IE10,直到内容可以免插件浏览。