问题描述
在特定网站上,我无法检测浏览器是否为边缘(铬),因为在该网站上,我在边缘浏览器上关注用户代理
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/91.0.4472.101 Safari/537.36"
没有“edge”或“edg”关键字来检测它的边缘是否有解决此问题的方法。
我只需要区分这两个浏览器,这是我的检测代码。
public isChrome(): boolean {
return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
}
public isEdge(): boolean {
return /edg|edge/.test(navigator.userAgent.toLowerCase()) && /Google Inc/.test(navigator.vendor);
}
谢谢
解决方法
我认为您提供的 userAgent 来自 Chrome 而不是 MS Edge。 MS Edge 的 userAgent 应该以 edg/version 结尾。例如:
mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml,like gecko) chrome/91.0.4472.101 safari/537.36 edg/91.0.864.48
有关详细信息,您还可以参考此文档:How to detect Microsoft Edge in your website。 如果要确定用户使用的浏览器,可以参考这个案例:How to detect Microsoft Chromium Edge (chredge,edgium) in Javascript