原来一直以为只要设置JavaScript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的document.cookie的值无法完全做到删除或更改cookie。
使用JavaScript清理Cookie首先要找到该Cookie对应的Name对应的值,然后设置其为过期:
找到Cookie有下面方法:
function getCookie2(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null)
return unescape(arr[2]);
return null;
}
找到后设置为过期,切记设置domAIn和path,只有这两个参数跟你要删除的参数完全一样才能把它删除掉。
function resetNfluent(){
alert("before=>"+document.cookie);
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie2('name');
var lanObj=document.getElementById('lanOption');
var lanSel=lanObj.value;
alert(lanSel);
if(lanSel=='en'){
alert('let\'s reset nFluent');
alert('cval=>'+cval);
if(cval!=null){
document.cookie="name="+cval+";
domain=.example.com;
expires="+exp.toGMTString()+";
path=/";
}else{
document.cookie="name=;
domain=.example.com;
expires="+exp.toGMTString()+";
path=/";
}
}else{
alert('Don\'t need reset nFluent');
}
alert("after=>"+document.cookie);
}
