删除cookie功能不正常
Deleting cookies function is not working
我想删除我的cookie,代码工作起来获取和设置cookie,但是删除cookie不工作请告诉我答案
代码<body>
<select id="ThemeSelect" onchange="saveTheme(this.value);">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<button type="button" onclick="ShowCookie();">GetCookie</button>
<button type="button" onclick="deleteCookie(name);">DeleteCookies</button>
<script>
var saveclass = null;
function saveTheme(cookieValue) {
var sel = document.getElementById('ThemeSelect');
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + sel.options[sel.value].innerHTML.replace(" ", "").toLowerCase();
setCookie('theme', cookieValue, 365);
}
function setCookie(cookieName, cookieValue, nDays) {
var today = new Date();
var expire = new Date();
if (nDays == null || nDays == 0)
nDays = 1;
expire.setTime(today.getTime() + 3600000 * 24 * nDays);
document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
}
function getCookie(name) {
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
}
function ShowCookie() {
var a = getCookie(name);
alert(a);
}
function deleteCookie(name) {
if (getCookie(name)) {
var cookie_date = new Date(); // current date & time
cookie_date.setTime(cookie_date.getTime() - 1);
document.cookie = cookieName += "=; expires=" + cookie_date.toGMTString();
}
}
</script>
</body>
function deleteCookie(name) {
if (getCookie(name)) {
var cookie_date = new Date(); // current date & time
cookie_date.setTime(cookie_date.getTime() - 1);
document.cookie = name + "=; expires=" + cookie_date.toGMTString();
}
}
cookieName在此范围内未定义。将其更改为name
,这是传递给函数的参数,它应该工作。
也使用+
来连接字符串,您有一个额外的=
,这也阻止了它的工作。
看看这个提琴,看看它的作用
这是一个jsfiddle: http://jsfiddle.net/CCLdr/
设置cookie的过期时间:
function delete_cookie( name ) {
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
或者更好的…
var createCookie, readCookie, eraseCookie;
createCookie = function(name,value,days) {
var date, expires;
if (days) {
date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toUTCString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
readCookie = function(name) {
var nameEQ, ca, i, c;
nameEQ = name + "=";
ca = document.cookie.split(';');
for(i=0;i < ca.length;i++) {
c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
eraseCookie = function(name) {
createCookie(name,"",-1);
}
javascript - delete cookie
相关文章:
- Javascript.getHours()工作不正常
- 删除CKEditor工具栏按钮,但不删除功能
- removeClass函数没有'工作不正常
- jQuery Ajax GET请求工作不正常
- Cordova ng路线工作不正常
- 更新属性工作不正常Meteor/MongoDB
- 为什么文本对齐:对;工作不正常
- Javascript作用域和Ajax调用;工作不正常
- JavaScript DOM insertBefore'工作不正常
- Angular Js布线工作不正常
- 电子邮件验证功能运行不正常
- .切换功能工作不正常
- 按箭头键语句功能不正常
- 高位图表堆叠功能不正常
- 在多选中选择后搜索功能不正常
- 删除cookie功能不正常
- 加载更多的gif功能不正常
- Jquery点击功能不正常
- 如何在angular应用的url中添加自定义字符串而不影响其正常功能
- 复选框快速选择功能不正常