【发布时间】:2011-01-17 12:15:52
【问题描述】:
我应该如何为these 函数添加域支持?我想实现 .example.com 被声明为域,以便可以跨 example.com 的所有子域读取 cookie。以目前的形式,由于没有设置域,它只能从 www.example.com 读取
【问题讨论】:
标签: javascript setcookie
我应该如何为these 函数添加域支持?我想实现 .example.com 被声明为域,以便可以跨 example.com 的所有子域读取 cookie。以目前的形式,由于没有设置域,它只能从 www.example.com 读取
【问题讨论】:
标签: javascript setcookie
这是一个关于如何在域之间共享 cookie 的链接:
https://www.thoughtco.com/javascript-by-example-2037272
它涉及设置cookie字符串的域属性,如:
document.cookie = "myValue=5;path=/;domain=example.com";
现在应该可以访问 example.com 的所有子域,例如 login.example.com
【讨论】:
在我的例子中,我们需要设置一个可以在我们的 .com 子域中使用的 cookie:
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;
}
这可能不适用于.co.uk等,但可以使用该原理
【讨论】: