gpt4 book ai didi

asp.net - 服务器端的Internet Explorer 11检测

转载 作者:行者123 更新时间:2023-12-03 12:08:36 27 4
gpt4 key购买 nike

我们都知道IE11检测不适用于服务器端语言,因为Microsoft已删除IE / MSIE浏览器指示,现在完全是“Mozilla”。

我也知道进行浏览器检测/版本转换是有风险的,但过去对我们都有益。

网站的一些要求如下:

必须与特定版本的Firefox及更高版本配合使用
必须与特定版本的chrome及更高版本一起使用
必须使用Safari的某些版本(以下版本和某些版本)
必须使用IE> = 8

所以这是问题所在... IE11在我的列表中指示它不受支持。我想从Web上的服务器端(ASP.NET/MVC)支持它

目前尚不清楚如何从服务器端检测到这一点。有人知道吗?

这是现在在IE 11中显示的用户代理:

“像Gecko一样的Mozilla / 5.0(Windows NT 6.1; WOW64; Trident / 7.0; rv:11.0)”

rv:11.0告诉我们它的IE11,但是对此进行解析仍然意味着,例如,它可能是某种版本的chrome,但这种要求甚至不支持Firefox。

那么,在这里查看它是否确实是IE 11或更高版本的最佳方法是什么?

我不确定从“Trident”开始搜索,因为我不知道其他浏览器是否使用它。

任何方向都欢迎。

最佳答案

使用正则表达式,例如:

Regex.IsMatch(this.Request.UserAgent, @"Trident/7.*rv:11")

Trident是IE使用的渲染引擎的名称。如Wikipedia文章中所见,其他一些应用程序也使用Trident引擎。但是在用户代理中搜索Trident并不是问题,因为没有其他主流浏览器使用Trident。

仅IE11使用Trident版本7,因此,如果您使用正则表达式搜索 Trident/7,它将找到IE11。

关于asp.net - 服务器端的Internet Explorer 11检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com