【问题标题】:Is there a way to add samesite value to a cookie in jquery?有没有办法在 jquery 中将 samesite 值添加到 cookie 中?
【发布时间】:2020-05-23 10:18:41
【问题描述】:

我一直在尝试几种语法变体,试图让 cookie 使用相同的站点值进行更新,并出现在 chrome devtools 中,就像他们为来自 chrome 的 https://samesite-sandbox.glitch.me/ 所做的那样。

它们似乎都不起作用,使用 = 而不是 : 会导致错误,更改相同站点的大小写似乎也不起作用。

$.cookie("testName", "Test Name",{ expires : 365, SameSite: 'lax'});

我根本无法在网上找到任何有关此的信息。当前的 Jquery 版本是 1.12.1

【问题讨论】:

    标签: jquery google-chrome cookies samesite


    【解决方案1】:

    看起来 Jquery Cookie 插件没有维护,它是从 2014 年开始的,阅读文档,它不支持。

    那么,你有什么选择?

    1. 分叉并修改自己的插件以添加功能。
    2. 切换到https://github.com/js-cookie/js-cookie#samesite(非常简单,支持samesite指令ofc)

    【讨论】:

      【解决方案2】:

      我发现这行得通:将“;SameSite=Lax”附加到路径中。

      所以,上面的例子会变成:

      $.cookie("testName", "Test Name",{ expires : 365, path: "/;SameSite=Lax"});
      

      在 $.cookie 中,默认路径是“/”。请注意,截至 2020 年 9 月,某些浏览器可能还需要附加“secure: true”。制作它:

      $.cookie("testName", "Test Name",{ expires : 365, path: "/;SameSite=Lax", secure: true});
      

      Fyi,这种附加到路径的方法,用于较旧的框架,如 vbscript 或 .net 2.0,它们没有一些最近的设置更改。

      【讨论】:

      • 请注意,一些旧版本的Jquery cookie不支持“secure:true”,所以这种情况下不会设置cookie。
      • @NicoM 您只需添加“/; SameSite=None; Secure”作为路径
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 2013-01-04
      相关资源
      最近更新 更多