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

使用jQuery Cookie设置1年有效期Cookie在Safari仅生效7天问题求助

问题原因

这个异常是Safari的智能跟踪预防(ITP, Intelligent Tracking Prevention) 策略导致的,是Safari为限制跨站跟踪推出的默认安全规则:

  • 从ITP 2.1版本开始,所有通过前端JavaScript调用document.cookie设置的第一方Cookie,无论代码中指定的过期时间多长,都会被Safari自动截断有效期,最长仅为7天。你使用的jQuery Cookie库本质是对document.cookieAPI的封装,因此会触发这个限制。
  • Chrome、Firefox等浏览器暂无同类强制规则,所以你的代码在其他浏览器可以正常生效365天的有效期。
解决方法
  • 优先选择后端设置Cookie:把Cookie写入逻辑移到服务端,在表单提交后的接口响应头中通过Set-Cookie字段配置即可,格式参考:
    Set-Cookie: login=logedin; Path=/shop; Expires=Wed, 05 Oct 2022 00:00:00 GMT; SameSite=Lax
    
    通过HTTP响应头设置的Cookie不受ITP的7天有效期限制,可以正常达到你需要的1年有效期。
  • 如果必须通过前端设置Cookie,可以先确认你的站点是否在Safari的可信站点列表中,或者有没有用户明确的主动授权交互(比如表单提交、点击确认按钮等),但该方案受Safari版本迭代影响较大,稳定性不如后端设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:45:02