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

Firefox扩展Manifest V3无法读取Cookie问题求助

Firefox Manifest V3 无法读取Cookie的解决方案

针对你遇到的Manifest V3扩展在Firefox中调用cookies.getAll返回空数组的问题,可通过以下步骤修复:

1. 调整domain参数的匹配规则

Firefox在Manifest V3下对domain参数的匹配更严格,必须带前缀点(.)才能匹配包含子域名的Cookie,而Chromium允许不带点的写法。修改你的查询参数:

async function Test() {
    // 给domain添加前缀点
    let cookies = await browser.cookies.getAll({ domain: ".twitter.com" });
    console.log(cookies);
}

2. 修正host_permissions格式

你当前的host_permissions末尾带斜杠可能导致匹配范围受限,修改为覆盖所有路径的写法:

"host_permissions": [
    "*://*.twitter.com/*",
    "*://twitter.com/*"
]

3. 排查权限与执行上下文

  • 若代码在popup中执行,确保扩展已正确加载并获得权限(Firefox安装扩展后默认会授予host_permissions声明的权限)。
  • 可先尝试不带过滤参数获取所有Cookie,验证是否能正常读取:
    async function Test() {
        let allCookies = await browser.cookies.getAll();
        let twitterCookies = allCookies.filter(c => c.domain.includes("twitter.com"));
        console.log(twitterCookies);
    }
    

补充说明

Firefox对Manifest V3的cookies API实现与Chromium存在细微差异,V3下Firefox保留了V2时期的严格域名匹配逻辑,而Chromium做了兼容优化。以上调整可解决大部分跨浏览器的Cookie读取问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:27:08