有没有办法将 samesite 值添加到 jquery 中的 cookie?

Is there a way to add samesite value to a cookie in jquery?

我一直在尝试一些语法变体来尝试让 cookie 更新为相同的站点值并出现在 chrome devtools 中,就像他们为 https://samesite-sandbox.glitch.me/ 来自 [=19] 所做的那样=].

None 其中似乎有效,使用 = 而不是 : 会导致错误,更改 samesite 的大小写似乎也不起作用。

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

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

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

那么,你有什么选择?

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

我发现这个可行:将“;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});

仅供参考,这种附加到路径的方法在 vbscript 或 .net 2.0 等较旧的框架中使用,这些框架没有一些较新的设置更改。