我应该如何向these功能添加域名支持?我希望实现.example.com被声明为域,以便可以在example.com的所有子域中读取cookie。在目前的形式中,由于未设置域,因此只能从www.example.com
中读取答案 0 :(得分:46)
以下是有关如何在域名之间共享Cookie的链接:
https://www.thoughtco.com/javascript-by-example-2037272
它涉及设置cookie字符串的domain属性,如:
document.cookie = "myValue=5;path=/;domain=example.com";
此cookie现在应该可以访问example.com的所有子域,例如login.example.com
答案 1 :(得分:0)
就我而言,我们需要设置一个可在.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等,但可以使用该原理