我的网站的每个页面都有一个Cookie。地址是这样的,它工作正常。 http://mydomain.com/index.html或其他什么。
但是当我有一个像这样的文件夹中的页面时 http://mydomain.com/folder/page.html
而不是使用我为所有其他页面设置的cookie,它只为该文件夹创建一个新的cookie。有没有办法为所有文件夹保留相同的cookie?或者我只是在做一些可怕的错误?
由于
我的代码 - 我在外部js中有这个。文件
$(document).ready(function(){
var cookie = $.cookie('cookiename');
if (cookie) {
}
else {
$.cookie('cookiename', 'cookievalue');
}
});
$(document).ready(function() {
$('.watevevever').click(function() {
var va = $('#watev').css('display');
if (va == 'none'){
$('#watev').fadeIn("slow");
$.cookie('cookiename', 'cookievalue');
}
else {
$('#watev').fadeOut("slow");
$.cookie('cookiename', 'cookievalue');
}
});
var va = $.cookie('cookiename');
if (va == 'cookievalue') {
$('#watev').css("display","none");
};
});
答案 0 :(得分:3)
如果你使用this plugin作为jQuery(它的源是here),通过查看源代码,你可以将一些额外的参数作为对象传递,作为第三个参数到$.cookie
方法。
例如,从this tutorial开始,您可以添加到期日期:
$.cookie('the_cookie', 'the_value', { expires: 7 }); // set cookie with an expiration date seven days in the future
查看源代码,您有以下部分代码:
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
所以,我想你可以在作为第三个参数给出的对象中使用“path
”属性,例如:
$.cookie('the_cookie', 'the_value', {path: '/'});
当然,如果你想为你网域上的每个路径设置cookie,这个'/
'就是这种情况。
您还可以设置一些其他选项,例如“domain
”,如果您想使用子域名,顺便说一句......
答案 1 :(得分:1)
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
可选参数包括'path'..应该是'/'