首页 > 解决方案 > C# Request.Browser.Type 列表

问题描述

我正在尝试识别我的用户正在使用的浏览器,因为display:none它在我正在维护的网站中经常使用,因此我们需要确保用户使用支持此功能的浏览器。

Request.Browser.Type返回一个标识正在使用的浏览器的字符串,但似乎并不过分可靠(例如,Edge 返回为 Chrome),我也找不到每个浏览器的字符串应该是什么的列表。

任何更好的功能检查 CSS 属性支持的解决方案都值得赞赏!

标签: c#cssasp.netbrowser

解决方案


这是我在控制器中用来识别正确浏览器的方法:

string browser = Request.Browser.Browser;
//As you noted, Request.Browser.Browser for Edge returns Chrome
//But comparing that with the Request.UserAgent and checking if UserAgent contains Edge, works for me
if (browser != "Edge" && Request.UserAgent.Contains("Edge"))
    browser = "Edge";

这里有几个链接显示了一些最常用的浏览器的用户代理字符串:

显示 Chrome、IE、Opera、Safari、Firefox ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent )

显示边缘:(http://www.webapps-online.com/online-tools/user-agent-strings/dv/browser646202/edge-browser


推荐阅读