获取C#中的客户端浏览器版本(启用IE兼容模式时)

本文关键字:IE 模式 启用 客户端 版本 浏览器 获取 | 更新日期: 2024-09-25 07:44:13

我们需要从C#代码中了解客户端的浏览器版本。我们使用请求。Browser或HTTP_USER_AGENT获取详细信息。然而,在IE中,当启用兼容模式时,无论IE的版本如何,它总是返回IE 7版本。即,即使在IE 11中,当启用兼容性模式时,它也返回IE 7,但我想要实际版本,即IE 11。有什么方法可以让我得到真正的IE版本吗?

获取C#中的客户端浏览器版本(启用IE兼容模式时)

我认为这是对u的最佳帮助。

protected void Page_Load(对象发送方,EventArgs e){

        var userAgent = HttpContext.Current.Request.UserAgent;
        var userBrowser = new HttpBrowserCapabilities
        {
            Capabilities = new Hashtable
            {
                {
                    string.Empty, userAgent
                }
            }
        };
        var factory = new BrowserCapabilitiesFactory();
        factory.ConfigureBrowserCapabilities(
            new NameValueCollection(), userBrowser);


        //Set User browser Properties
        var BrowserBrand = userBrowser.Browser;
        var BrowserVersion = userBrowser.Version;

        Response.Write("browser brand :- " + BrowserBrand + "<br/>");
        Response.Write("browser version :- " + BrowserVersion + "<br/>");

    }

在Page_load 中写入以下内容

HttpBrowserCapabilities brObject = Request.Browser;
Response.Write("Browser Type: "+ brObject.Type);
Response.Write("<p>"+"Browser Version: "+ brObject.Version);

我们找到了解决方案。HTTP_USER_AGENT将包含可用于此目的的"三叉戟"值。IE的每个版本都包含不同的三叉戟版本值,如三叉戟5.0、三叉戟6.0等。这可以用于识别IE版本。