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

Chrome 133中chrome.cookies.set的path默认值与文档不符问题

Chrome扩展cookies.set默认路径不符预期的问题解析

运行环境:Chrome Version 133.0.6943.126

根据chrome.cookies.set的文档说明:

  • details.path参数:Cookie的路径,默认值为url参数的路径部分
  • details.url参数:关联Cookie设置的请求URI,会影响默认域名和路径

你原本理解为:传入url为https://example.com/foo且不指定path时,Cookie路径应设为/foo,但实际测试发现path被设为/。

最小测试代码

await chrome.cookies.set({ 
  name: 'hello', 
  value: 'world', 
  expirationDate: Date.now() / 1000 + 3600, 
  url: 'https://example.com/foo' 
})

返回结果

{
  domain: "example.com",
  expirationDate: 1740647880.071,
  hostOnly: true,
  httpOnly: false,
  name: "hello",
  path: "/",                      // 为何是"/"而非"/foo"?
  sameSite: "unspecified",
  secure: false,
  session: false,
  storeId: "0",
  value: "world"
}

问题原因

你并非完全误解文档,而是文档描述未覆盖Chrome的实际行为细节:
Chrome扩展的cookies.set API在处理默认路径时,遵循浏览器原生的Cookie路径匹配逻辑:

  • 当传入的URL路径为非目录形式(如/foo,无末尾斜杠)时,Chrome会默认将路径设为/,确保该Cookie能在域名下所有路径生效;
  • 只有当URL路径为目录形式(如/foo/,带末尾斜杠)时,默认路径才会是/foo/。

如果需要将Cookie路径设为/foo,必须显式指定path: '/foo',不能依赖默认行为。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:25:01