c# - C# Request.Browser.Type 列表
问题描述
我正在尝试识别我的用户正在使用的浏览器,因为display:none
它在我正在维护的网站中经常使用,因此我们需要确保用户使用支持此功能的浏览器。
Request.Browser.Type
返回一个标识正在使用的浏览器的字符串,但似乎并不过分可靠(例如,Edge 返回为 Chrome),我也找不到每个浏览器的字符串应该是什么的列表。
任何更好的功能检查 CSS 属性支持的解决方案都值得赞赏!
解决方案
这是我在控制器中用来识别正确浏览器的方法:
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)
推荐阅读
- intellij-idea - TestNG DataProvider 标记为无效的返回类型迭代器
,但它将参数传递给测试方法 - apache - 通过 VPN 连接访问 localhost
- javascript - @typescript-eslint/eslint-plugin 错误:'Route' 已定义但从未使用过(no-unused-vars)
- sql - 如何在oracle中删除除'E'之外的所有字符
- loops - 批处理文件循环直到显示某些文本
- android - 为什么我的 Switch 轨道关闭时是白色的?
- asp.net - asp.net core 上传文件作为表单的一部分
- javascript - 如何测试调度自定义事件的方法
- c# - 从 Razor 页面视图中的声明中获取数据
- node.js - Winston - 将日志数据附加到 JSON 数组中