0
下面是即時通訊使用的功能:的Javascript的Cookie功能不工作的域
設置cookie的:
function set_cookie (name, value, exp_y, exp_m, exp_d, path, domain, secure)
{
var cookie_string = name + "=" + escape (value);
if (exp_y)
{
var expires = new Date (exp_y, exp_m, exp_d);
cookie_string += "; expires=" + expires.toGMTString();
}
if (path)
cookie_string += "; path=" + escape (path);
if (domain)
cookie_string += "; domain=" + escape (domain);
if (secure)
cookie_string += "; secure";
document.cookie = cookie_string;
}
讀取Cookie:
function get_cookie (cookie_name)
{
var results = document.cookie.match ('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
if (results)
return (unescape (results[2]));
else
return null;
}
刪除Cookie:
function delete_cookie (cookie_name)
{
var cookie_date = new Date (); // current date & time
cookie_date.setTime (cookie_date.getTime() - 1);
document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
我用Jquery構造th e cookie:
if(get_cookie('visible')== 'no') {
$("#wrapper").hide();
$(".help").hide();
$("#slid .show").show();
$("#slid .hide").hide();
} else {
$("#slid .show").hide();
$("#slid .hide").show();
}
$("#slider").click(function() {
if(get_cookie('visible')== null) {
set_cookie('visible','no', 2020, 01,01, '/', 'domain.com');
} else {
delete_cookie('visible');
}
$(".help").slideToggle();
$("#wrapper").animate({ opacity: 1.0 },200).slideToggle(200, function() {
$("#slid img").toggle();
});
});
我試圖設置所有在domain.com下存在的路徑爲'/'的頁面的cookie。
然而,使用這些函數和jQuery似乎沒有工作,任何人都可以告訴我哪裏出錯了?
如何調整以添加路徑和域以確保並錯過轉義問題? – CLiown 2010-05-07 14:54:27
只需將'path'和'domain'值直接添加到字符串中,而不用調用'escape()'(或其他)來對它們進行編碼。 (是的,這意味着不可能有一個帶有分號的「路徑」。) – bobince 2010-05-07 15:56:56