Chrome扩展(Manifest V3)如何获取带分区键的Cookie?
要获取带有分区键(Partitioned)的Cookie,你需要在chrome.cookies.getAll()调用中显式指定partitionKey参数——因为Chrome的**分区Cookie(Partitioned Cookies)**遵循Storage Partitioning规则,默认不会被常规的Cookie查询返回。
具体操作步骤:
确认权限配置
确保你的manifest.json除了已有的host_permissions,还包含"cookies"权限:"permissions": ["cookies"], "host_permissions": [ "https://*/*", "http://*/*" ]带partitionKey参数查询Cookie
- 若知道目标Cookie所属的顶层站点(top-level site),直接传入对应值:
chrome.cookies.getAll({ domain: 'example.com', partitionKey: { topLevelSite: 'https://your-top-site.com' } }, (cookies) => { // 处理获取到的分区Cookie }); - 若要获取该域名下所有分区的Cookie,将
topLevelSite设为null:chrome.cookies.getAll({ domain: 'example.com', partitionKey: { topLevelSite: null } }, (cookies) => { console.log('所有分区的Cookie:', cookies); });
- 若知道目标Cookie所属的顶层站点(top-level site),直接传入对应值:
关键注意点:
partitionKey参数仅支持Chrome 104及以上版本,需确保浏览器版本达标。- 复制分区Cookie到其他域名时,同样要在
chrome.cookies.set()中指定对应partitionKey,否则新Cookie不会被标记为分区类型,无法正常生效。 - 你当前的
host_permissions配置已覆盖所有HTTP/HTTPS域名,满足查询任意域名Cookie的权限要求。
内容的提问来源于stack exchange,提问作者Alex C
相关产品推荐
相关产品推荐

