JQuery $ .cookie(domain :)导致cookie无法设置

时间:2011-05-12 12:16:17

标签: jquery

下面的代码根据点击的链接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' });
        });
    });

2 个答案:

答案 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

的任何子域设置它