【发布时间】:2013-02-24 14:26:57
【问题描述】:
我需要以编程方式获取浏览器的用户代理:Windows 7 上的 IE10。
这应该是一件容易的事。我在 javascript 中尝试了 navigator.userAgent,在 Silverlight 中尝试了 HtmlPage.BrowserInformation.UserAgent,它们都返回:
Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.1;WOW64;Trident/6.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;媒体中心PC 6.0;.NET4.0E;InfoPath.3;.NET4.0C)
,看起来不错。但是,正如 Fiddler 注意到的那样,浏览网站时真正的 UA IE10 发送的是:
Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.1;WOW64;Trident/6.0)
,这是一个较短的版本。我怎样才能得到 IE10 正在使用的这个较短的字符串?
(我已经安装了 Firefox 19 并且 Firefox 没有这个问题,两种方法的用户代理是一样的。)
谢谢,
【问题讨论】:
-
是否有理由进行 userAgent 嗅探而不是正确的特征检测?
-
@FabrícioMatté 这是出于安全目的。基本上,我的 silverlight 客户端(带有 ClientHttp)需要向服务器 api 发送完全相同的 ua 字符串。
标签: javascript silverlight user-agent internet-explorer-10