Skip to content

[Bug] 对于浏览器类型的检测方式误杀 Brave #9

Description

@w568w

1. 描述

目前检测 360 浏览器的条件是:

if (
ua.indexOf('qihu') !== -1 ||
ua.indexOf('360ee') !== -1 ||
ua.indexOf('360se') !== -1 ||
(ua.indexOf('chrome') !== -1 && (navigator.connection?.saveData === undefined) && (navigator.connection?.rtt === undefined))
) {
return '360';
}

最后一个条件(是否开启 NetworkConnection API)会误杀具有隐私保护功能的浏览器,例如 Brave。

2. 复现

  1. 从官网安装干净的 Brave 浏览器;
  2. 执行 detectBrowser 函数(或者访问任意启用了此功能的页面);
  3. 出现错误识别:您当前正在使用:360

3. 可能的修复方案

也许可以在这个分支之前增加对 Brave 的检测,参考:

https://github.com/sibiraj-s/browser-dtector/blob/9f271bf4d1aad5ab1811e7adba97416a1d5ff130/lib/browser-dtector.ts#L85-L91

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions