下面的代码根据点击的链接ID设置了一个Cookie(这是值),这可行,但是需要做什么设置域,我已经阅读了如何通过在值中设置域来做到这一点,当我设置了它根本不会设置cookie的支配
工作:
jQuery(document).ready(function(){
$(".htabs a").click(function(e){
$.cookie('siteVistedCookie', $(this).attr("id"), { expires: 7, path: '/'});
});
});
不工作
jQuery(document).ready(function(){
$(".htabs a").click(function(e){
$.cookie('siteVistedCookie', $(this).attr("id"), { expires: 7, path: '/', domain: 'www.xample.com' });
});
});
答案 0 :(得分:8)
在这里猜测一下,但如果您尝试设置的域不是该页面所托管的网站的域,那么域(主机)将不会在cookie中设置为您输入的内容cookie setter中的域名。
换句话说,如果域不是托管页面的域,则您尝试设置大多数现代浏览器不允许的第三方Cookie。
除非您的网站是xample.com,并且您正在以xample.com/testcookie.html(或您调用的测试页面的任何内容)运行该页面,否则Cookie的域(主机)将不会设置为xample。融为一体
答案 1 :(得分:2)
运行没有域设置的脚本,然后查看它设置的cookie。它显示的域名是什么?它与你在域名中的内容相匹配吗?
必须使用页面所在的相同(子)域设置Cookie域。例如,如果您的页面在
http://www.somesite.com/page.htm
升
您可以将Cookie域设置为
www.somesite.com
< - 这将专门为www
子域名设置
.somesite.com
< - 这将允许为somesite.com