【问题标题】:Detecting IE10 and older in ASP.NET在 ASP.NET 中检测 IE10 及更早版本
【发布时间】:2017-10-17 03:41:51
【问题描述】:

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

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 的内容吗?

【问题讨论】:

    标签: asp.net asp.net-mvc internet-explorer browser-detection httpbrowsercapabilities


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        • 2010-11-22
        相关资源
        最近更新 更多