【问题标题】:Set jquery cookie for one year设置 jquery cookie 一年
【发布时间】:2021-11-26 08:27:33
【问题描述】:

我正在尝试使用 jquery cookie 库在表单提交上创建 365 天的 cookie。

它在 chrome 和其他浏览器上按预期工作,但在 safari 上,到期日期设置为 7 天,即使我已将其设置为 365 天。

知道为什么它在 Safari 上没有按预期工作吗?

Chrome 和其他浏览器 - 2022-10-06 (预计一年)

Safari - 2021 年 10 月 13 日 (错误的一周)

这里是代码

$.cookie("login", "logedin", { path: "/shop", expires: 365 });

【问题讨论】:

    标签: javascript html jquery cookies


    【解决方案1】:

    知道为什么它在 Safari 上没有按预期工作吗?

    因为 Apple 已决定将此限制作为其智能跟踪保护的一部分。

    您可以阅读有关它的更多信息 f.e.在这里,https://webkit.org/blog/8613/intelligent-tracking-prevention-2-1/

    客户端 Cookie 的存储时间上限为 7 天
    Cookie 可以在 HTTP 响应中设置,也可以通过 document.cookie API 设置,后者有时称为客户端 cookie。在 ITP 2.1 中,所有持久性客户端 cookie(即通过 document.cookie 创建的持久性 cookie)的有效期为 7 天。

    https://clearcode.cc/blog/intelligent-tracking-prevention-faq/

    由 JavaScript 的 document.cookie 创建的第一方 cookie 将在 7 天后过期。如果在这 7 天内访问 cookie,则它们的到期日期将延长 7 天。

    【讨论】:

    • 所以没有办法延长期限?
    • 这是一种试图阻止坏人做坏事(用户跟踪、侵犯隐私)的措施。如果它很容易的话,这将是一个非常毫无意义的措施规避。 // 正如我引用的第二个链接所说,如果在前 7 天内访问 cookie,cookie 过期将自动再延长 7 天。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多