我应该如何为这些函数添加域名支持? 我想实现将 .example.com 声明为域名,以便可以在 example.com 的所有子域中读取 cookies。由于当前未设置域,因此仅可以从 www.example.com 读取。
我应该如何为这些函数添加域名支持? 我想实现将 .example.com 声明为域名,以便可以在 example.com 的所有子域中读取 cookies。由于当前未设置域,因此仅可以从 www.example.com 读取。
以下是如何在域名间共享 cookies 的链接:
https://www.thoughtco.com/javascript-by-example-2037272
它涉及将 Cookie 字符串的 domain 属性设置为:
document.cookie = "myValue=5;path=/;domain=example.com";
这个cookie现在应该可以被example.com的所有子域名访问,例如login.example.com
最初的回答
function setCrossSubdomainCookie(name, value, days) {
const assign = name + "=" + escape(value) + ";";
const d = new Date();
d.setTime(d.getTime() + (days*24*60*60*1000));
const expires = "expires="+ d.toUTCString() + ";";
const path = "path=/;";
const domain = "domain=" + (document.domain.match(/[^\.]*\.[^.]*$/)[0]) + ";";
document.cookie = assign + expires + path + domain;
}