0

如果用户使用 IE7 或更早版本,我支持将用户重定向到错误页面的 ASP.NET MVC 站点。

if (Request.Browser.Browser == "IE" && Request.Browser.MajorVersion <= 7)
{
    return RedirectToAction("Browser","Error");
}

如果用户使用的是 IE10 或更早版本,我现在需要进行更改以将用户重定向到错误页面。我知道要检测 IE8,我只需要检查 MajorVersion 是否等于 8,但我无法找到有关使用 Request.Browser 检测 IE9 和 IE10 的文档。

也许检查 MajorVersion 是否小于或等于 10 就足够了。但是,我知道对于 IE11,Request.Browser.Browser 返回“InternetExplorer”而不是“IE”,并且我无法找到有关 IE9 和 10 为浏览器返回的确切答案。此外,对于 IE 给我的信任问题,假设 IE9 和 10 将 MajorVersion 设置为 9 和 10,我感到不安全。有谁确切地知道 Request.Browser.Browser 和 Request.MajorVersion 将包含 IE9 和 10 吗?

4

2 回答 2

0

Request.Browser 信息来自 [Framework root\Config\Browsers. 它们已经过时了。尝试根据此链接解析 UA 字符串。

于 2017-05-17T17:17:50.277 回答
0

当您告诉 IE 11 模拟那些早期版本时,我可以确认IE 11 使用的 IE 9 和 10 用户代理字符串分别Request.Browser.Browser是“IE”和9 和 10。Request.Browser.MajorVersion我不知道这是否全面,当然用户代理字符串本质上是不可信的,因为它们很容易被篡改。

于 2017-05-17T16:54:20.650 回答