Javascript 这个cookie清除代码中的错误在哪里?
以及Cookies代码:Javascript 这个cookie清除代码中的错误在哪里?,javascript,cookies,Javascript,Cookies,以及Cookies代码: // This actually appears above, don't worry about undefined Cookies Cookies = new function() { var self = this; self.getCookie = function(c_name, opt_domain) { var i, name, value, cookies=document.cookie.split(";");
// This actually appears above, don't worry about undefined Cookies
Cookies = new function() {
var self = this;
self.getCookie = function(c_name, opt_domain) {
var i, name, value, cookies=document.cookie.split(";");
for (i=0; i < cookies.length; i++) {
name = cookies[i].substr(0, cookies[i].indexOf("="));
value = cookies[i].substr(cookies[i].indexOf("=")+1);
name = name.replace(/^\s+|\s+$/g,"");
if (name==c_name) {
if (opt_domain) {
if (!(value && value.indexOf(";domain=" + opt_domain) != -1)) {
continue;
}
}
return decodeURIComponent(value);
}
}
return null;
};
self.setCookie = function(c_name, value, opt_exdays, opt_domain) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + opt_exdays);
if (!opt_domain) {
opt_domain = document.domain;
}
var c_value = encodeURIComponent(value) + (opt_exdays? "; expires=" + exdate.toUTCString() : "") + ";path=/" + (opt_domain ? ";domain=" + opt_domain : "");
document.cookie=c_name + "=" + c_value;
};
self.clearCookie = function(c_name) {
// http://blogs.x2line.com/al/articles/316.aspx
var d = new Date(0).toUTCString();
document.cookie = c_name + "=deleted;expires=" + d + ";path=/";
};
};
//这实际上出现在上面,不要担心未定义的cookie
Cookies=新函数(){
var self=这个;
self.getCookie=函数(c_名称,opt_域){
变量i,名称,值,cookies=document.cookie.split(“;”);
对于(i=0;i
这是因为未指定域
如果将clearCookie
更改为:
self.clearCookie = function(c_name) {
// http://blogs.x2line.com/al/articles/316.aspx
var d = new Date(0).toUTCString();
document.cookie = c_name + "=deleted;expires=" + d + ";path=/;domain=" + document.domain;
};
它清除cookie(使用document.domain)
或者,您也可以拨打:
this.setCookie(c_name, "", -1);
我不确定您的代码有什么问题(可能是因为您至少没有设置路径),但根据,删除cookie值的更简单方法如下:
self.clearCookie = function(c_name) {
self.setCookie(c_name, "", -1);
}
我实际上是在设置路径,但不是域。你的代码是优雅的,被接受的。
self.clearCookie = function(c_name) {
self.setCookie(c_name, "", -1);
}