获取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版本吗?
我认为这是对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版本。