Surface RT的用户代理字符串是什么?

25

我正在试图确定表面RT的用户代理字符串以进行测试目的。

7个回答

24
只需在 Google 上搜索,您就能找到答案。 Internet Explorer 10 用户代理字符串 引用:
Internet Explorer 10 on Windows RT: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)
在下面的评论后更新:
上面的链接还说明:
识别触控系统 Internet Explorer 10引入了“Touch”UA字符串令牌。如果在UA字符串的末尾出现此令牌,则计算机具有触控功能,并且正在运行Windows 8(或更高版本)。此UA字符串将在运行Windows 8的触摸启用系统上传输。 请注意,Windows 7上的Internet Explorer 10永远不会报告带有“Touch”标记的UA字符串。 Windows RT上启用触摸的Internet Explorer 10: Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.2;ARM;Trident/6.0;Touch)
Internet Explorer 11更新说明: 用户代理字符串更改 以下是在Windows 8.1上Internet Explorer 11的报告内容:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

这是适用于Windows 7上Internet Explorer 11的字符串:
Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

如果您将这些值与早期版本的Internet Explorer报告的值进行比较,您会发现以下更改:
  • 兼容(“compatible”)和浏览器(“MSIE”)标记已被删除。
  • 添加了“like Gecko”标记(以便与其他浏览器保持一致)。
  • 浏览器版本现在由新的修订(“rv”)标记报告。

不要认为自己已经被攻击了,因为其他设备在其用户代理字符串中包含的不仅仅是浏览器类型。 - Kristian
@Kristian,你有没有关注链接?它有你要找的内容。 - Miguel-F
哦,我错过了底部的煎饼堆。谢谢。 - Kristian
1
似乎“Touch;”关键字也显示在RT上,虽然微软的文档并没有提到这一点,所以可能只有一些RT平板电脑有额外的Touch关键字?”Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)”这是从http://answers.microsoft.com/en-us/ie/forum/ie10-windows_rt/mobile-browser-setting-for-ie/b58f9dbb-2227-4aa9-bdf8-045d4c3db871#allReplies获取的二手信息。 - robocat
1
Miguel,尽管你的介绍很粗鲁,但这现在是谷歌上的第一个结果。 :) - trevorengstrom

4

我昨天(2012年11月13日)去了一家微软零售店,并使用IE浏览器在Metro和桌面模式下访问http://whatsmyuseragent.com/

以下是两种情况下给出的用户代理:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)

4

对于那些感兴趣的人,这是 Surface Pro(128Gb)的用户代理字符串:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; Touch)

2
这是我访问whatsmyuseragent网站时看到的内容:

这是我的用户代理信息:

Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; rv:11.0) like Gecko

希望这能帮到你。

2

实际上,大家都错了。在 Metro 模式下出现的实际用户代理是

Mozilla/4.0(兼容;msie 7.0;Windows NT 6.2;ARM;Trident/6.0; Touch;.NET4.0e;.NET4.0c;Tablet PC 2.0;版本)。


2
@Kristian msie 7.0 - 真的吗? - Miguel-F
1
@jim,你能告诉我们更多关于你如何获取这些数据的信息吗? - Kristian
实际上,你错了!!!你用来测试的页面使用了兼容模式(documentMode 7)。这一点的迹象是“兼容;”和“msie 7.0”。虽然你确实在RT上使用了MSIE 10.0,但是因为用户代理字符串中出现了“touch”和“arm”关键字。 - robocat
编辑:我也错了:“Compatible;”始终存在(与兼容模式无关)。 - robocat

1

Surface RT只能运行IE 10浏览器。 用户代理字符串为
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)

(来源:MSDN博客文章)
这种类型的信息通常会在底层浏览器/机器交付之前发布,因为Web浏览器制造商对于新浏览器得到大多数网站的良好支持非常感兴趣。


0

设备的用户代理 -

IE桌面版 - "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; InfoPath.3; rv:11.0) like Gecko"

IE Surface Pro - "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; Tablet PC 2.0; rv 11.0) like Gecko"

Edge桌面版 - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063"

边缘浏览器 - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"

通过查看上述用户代理,我们无法清楚地区分Edge浏览器桌面和Surface Pro版(IE浏览器有可用的平板电脑检查)。因此在这里首先检测窗口设备(Surface Pro是Windows平板电脑),然后验证设备是否为触摸设备。

window + touch: true - Surface Pro

window + touch: false - 桌面

isSurface: function () {
  // Window device Check
  if(!!navigator.userAgent.match(/Win/)) { 
  // Check if the device is touch               
  return !!navigator.userAgent.match(/Tablet PC/i) || "ontouchstart" in document.documentElement; 
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接