javascript删除Cookie的正确方法(转载)
原来一直以为只要设置javascript的document.cookie对象就能简单的在浏览器端设置和删除cookie值,网上很多文章也是这么教的,但是最近发现简单的设置javascript的document.cookie的值无法完全做到删除或更改cookie。偶然发现了一篇文章给出了正确的方法,这里贴出来。
使用JavaScript清理Cookie首先要找到该Cookie对应的Name对应的值,然后设置其为过期:
找到Cookie有下面方法:
1 2 3 4 5 | function getCookie2(name){ var arr = document.cookie.match( new RegExp( "(^| )" +name+ "=([^;]*)(;|$)" )); if (arr != null ) return unescape(arr[2]); return null ; } |
找到后设置为过期,切记设置domain和path,只有这两个参数跟你要删除的参数完全一样才能把它删除掉。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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); } |
至于如何详细查看cookie的path和domain之类的东西,在firefox中可以根据以下步骤查看:
Tools->Option->Privacy->Show Cookie
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界