You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript或后端检测DuckDuckGo浏览器?

检测DuckDuckGo浏览器的方案

由于DuckDuckGo浏览器会伪装成Chrome/Edge等浏览器(User Agent完全一致),无法通过UA直接识别,可通过以下几种可靠方式检测:

1. 检查DuckDuckGo特有的全局对象

DuckDuckGo桌面浏览器会暴露特定的全局对象,可直接判断:

function isDuckDuckGoBrowser() {
    // 检测DuckDuckGo特有的全局标识
    return typeof window.DDG !== 'undefined' || typeof window._ddg !== 'undefined';
}

2. 结合Brave的检测逻辑区分

因为Brave有官方提供的window.navigator.brave检测方式,可先排除Brave,再检测DuckDuckGo:

function isTargetBrowser() {
    const isBrave = typeof window.navigator.brave !== 'undefined';
    if (isBrave) {
        return 'brave';
    }
    // 检测DuckDuckGo
    const isDDG = typeof window.DDG !== 'undefined' || typeof window._ddg !== 'undefined';
    if (isDDG) {
        return 'duckduckgo';
    }
    return 'other';
}

3. 备选:检查浏览器内置扩展特征

如果上述全局对象检测失效,可尝试检查浏览器的内置扩展信息(注意:该方法可能随浏览器版本更新变化):

function checkDDGBuiltInExtensions() {
    // 遍历插件,查找DuckDuckGo相关标识
    for (let plugin of navigator.plugins) {
        if (plugin.name.includes('DuckDuckGo') || plugin.description.includes('DuckDuckGo')) {
            return true;
        }
    }
    return false;
}

使用场景说明

当检测到是DuckDuckGo浏览器时,可直接提示用户:无法在此浏览器中添加扩展,请使用Chrome/Edge等支持扩展安装的浏览器。

内容的提问来源于stack exchange,提问作者user984003

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:49:58