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

前端之家收集整理的这篇文章主要介绍了asp.net – Internet Explorer 11在服务器端的检测前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们都知道IE11检测不能与服务器端语言一起使用,因为Microsoft已经删除了IE / MSIE浏览器指示,现在完全是“Mozilla”。

我也知道,做浏览器检测/版本是有风险的,但过去一直很好地服务于我们。

网站的一些要求是:

必须使用某些版本的Firefox及以上版本
必须使用某些版本的Chrome及以上版本
必须使用某些版本的safari(一些以下和一些较新的)
必须使用IE> = 8

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

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

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

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

rv:11.0告诉我们它的IE11,但是做一个解析仍然意味着,例如,它可能是某种版本的chrome,在这样的要求甚至firefox不支持

那么,看看IE 11或更高版本的最好方法是什么?

我不太确定从“三叉戟”和向前搜索,因为我不知道其他浏览器是否使用。

欢迎任何方向。

解决方法

使用正则表达式,如:
Regex.IsMatch(this.Request.UserAgent,@"Trident/7.*rv:11")

Trident是IE使用的渲染引擎的名称。一些其他应用程序也使用Trident引擎,您可以在维基百科的文章中看到。但是,在用户代理中搜索Trident不应该是一个问题,因为没有其他主要浏览器使用Trident。

只有IE11使用Trident版本7,所以如果你用正则表达式搜索Trident / 7,应该会找到IE11。

猜你在找的asp.Net相关文章