我在为该域的域和子域设置 cookie 时遇到困难。虽然我不能透露域名,但我可以将其命名为“domain.com”并提供代码。
我正在尝试实现以下目标:访问者来到 domain.com 并设置了某些 cookie。当他到达 subdomain.domain.com 上的某个页面时,必须读取这些 cookie。
如果用户直接登陆子域页面,cookie 设置正确,一切正常,但如果他登陆主域页面,则没有设置 cookie。你能帮助我吗?
我必须再次重申,当子域设置 cookie 但主域访问没有设置 cookie 时,以下代码有效(是的,脚本也在主域页面中)。我已经用 firebug 和 firecookie 进行了测试。
这是我设置 cookie 的代码:
function setCookie(c_name,value) {
var now = new Date();
var time = now.getTime();
time += 3600 * 1000;
now.setTime(time);
var c_value=escape(value);
document.cookie=c_name + "=" + c_value + '; path=/;domain=.domain.com';
}
这是我获取 cookie 值的代码:
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++) {
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name) {
return unescape(y);
}
}
}