在javascript中想要删除cookie,首先需要找到cookie对应的name对应的值,将其设置为过期;然后设置expire属性的值为过期日期(即任何过去日期)即可,浏览器会自动删除cookie文件。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
原来一直以为只要设置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); }
推荐学习:javascript视频教程
Atas ialah kandungan terperinci javascript如何删除Cookie. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!