【发布时间】:2013-02-21 16:30:21
【问题描述】:
.Net MVC 3 中的以下代码在应返回“Opera 12”或“Opera 11”时返回“Opera 9”已在多台机器上确认了这一点,Win 7 64 位和 XP 32 位。
public ActionResult TestBrowser()
{
return Content(Request.Browser.Browser + " " + Request.Browser.MajorVersion);
}
由于某种原因,Opera 的浏览器标签中有一个 9.8,实际版本号在末尾。
是Opera浏览器标签格式错误,还是HttpBrowserCapabilitiesBase类解析错误?
【问题讨论】:
-
用户代理很容易被欺骗和不准确。也许你应该研究特征检测。但我可以确认它也会为我返回 Opera 9。
-
Request.Browser.MinorVersion返回的是什么? -
@DanielHilgarth MinorVersion 返回 80
-
@NeilN:嗯。至少,拥有这样一个拆分版本似乎是一种公认的做法。 Firefox 也是如此。 Mozilla/5.0 开头,实际 Firefox 版本结尾。
标签: .net asp.net-mvc browser opera