JavaScript能否检测Arc浏览器?如何区分Arc与Chrome/Chromium?
如何通过JavaScript区分Arc浏览器与Chrome/Chromium
虽然Arc浏览器的用户代理(UA)字符串完全伪装成Chrome(示例:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36),但确实可以通过JavaScript检测二者的差异,以下是几种可靠的方案:
检测
navigator.userAgentData.brands
Arc浏览器会在navigator.userAgentData.brands数组中添加一个专属的品牌条目,格式类似{brand: "Arc", version: "对应版本号"},而Chrome/Chromium的品牌列表仅包含Chrome、Chromium相关条目。示例代码:function isArcBrowser() { return navigator.userAgentData?.brands.some(item => item.brand === "Arc"); }识别Arc独有的功能标识
Arc有一些自身特有的功能(比如标签分组、自定义侧边栏),对应的部分内部API或本地存储键名是Chrome没有的。比如Arc会在localStorage中存储如arc-user-preferences这类专属键值对,不过这种方式依赖用户未清除浏览器存储,只能作为辅助检测手段。注意:优先特性检测而非浏览器检测
如果你的目标是为用户提供最佳体验,更推荐特性检测(即直接检测某个功能/API是否存在)而非单纯识别浏览器类型。比如需要使用某个Arc专属功能时,直接检测该功能对应的API是否可用,这种方式比浏览器检测更健壮,也能兼容未来的浏览器版本更新。
内容的提问来源于stack exchange,提问作者Liam
相关产品推荐
相关产品推荐

