无法使用iFrame中的JavaScript在Cookie上设置SameSite属性

时间:2020-08-21 14:38:18

标签: javascript google-chrome cookies samesite

我在使用JavaScript使用SameSite = none设置cookie时遇到问题。

我有一个客户网站,该网站将我们网站中的内容提取到iFrame中。我需要能够在(客户端站点的)用户的计算机上设置Cookie,该Cookie会在用户下次访问iFrame时记住布局首选项。

我有以下代码在非Chrome浏览器中可以正常运行:

function setCookie(c_name, value, exdays) { 
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

但是,如果我添加一行(在下面突出显示)以添加SameSite和Secure属性,则不会设置Cookie(在任何浏览器中):

function setCookie(c_name, value, exdays) { 
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    **if (c_name == "preferenceCookie") { c_value += ";SameSite=None;Secure" };**
    document.cookie = c_name + "=" + c_value;
}

我确定我想念的东西非常明显,但这让我发疯了。 (或者只是做不到?)

(哦-这是我的第一篇文章-请保持温柔!)

谢谢。

0 个答案:

没有答案