检查浏览器是否为chrome或edge

Sha*_*ggy 13 .net c# google-chrome microsoft-edge

我目前的网站仅在Chrome浏览器中运行,为此,我已按以下方式检查

if (Request.Browser.Browser == "Chrome")
{
   // Allow
}
Run Code Online (Sandbox Code Playgroud)

但是对于Edge来说它也只是回归"Chrome".

如何仅允许从Chrome浏览器进行访问?

Ham*_*jam 18

您可以检查用户代理并查看它是否是Microsoft Edge,因为Microsoft Edge包含Edge/version其用户代理字符串.

//get user agent somehow here based on what you are working on
userAgent = Request.UserAgent;

if (userAgent.IndexOf("Edge") > -1)
{
   // maybe client's browser is Microsoft Edge
}
Run Code Online (Sandbox Code Playgroud)

Edge用户代理字符串的示例

Mozilla/5.0 (X11; CrOS x86_64 6783.1.0) AppleWebKit/537.36 (KHTML, like Gecko) Edge/12.0

在这里这里看到更多

最后,我建议在浏览器上使用功能检测,而不是基于用户代理.

  • 仔细的列入黑名单/列入白名单的用户代理是[整个用户代理的开始](http://webaim.org/blog/user-agent-string-history/)的方式。 (2认同)
  • 是。这根本不是一个好主意。特征检测是恕我直言的最知名方法。@ AlexanderO'Mara (2认同)