js 操作 cookie
Posted 快乐菠菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 操作 cookie相关的知识,希望对你有一定的参考价值。
js 操作 cookie 的方法如下:
//设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires; } //获取cookie function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(\';\'); for(var i=0; i<ca.length; i++) { var c = ca[i]; while (c.charAt(0)==\' \') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; } //清除cookie function clearCookie(name) { setCookie(name, "", -1); }
使用事例如下:
var user = getCookie("username"); if (user != "") { alert("Welcome again " + user); } else { user = prompt("Please enter your name:", ""); if (user != "" && user != null) { setCookie("username", user, 365); } }
一开始,我都差点以为cookie只能是在在线网站上面才有,而且cookie的作用域一般情况下是整个站点(比如你在某网站的页面1设置了cookie,然后你跳到了页面2,页面2里面也一样有此cookie的值),因为我的实践结果是,在本地的一个静态html(如 D:\\demo 目录下)里面,加入了类似上面的js代码,但是每次我刷新页面的时候,浏览器都没有弹出我设置的cookie值,后来通过查找资料和实践之后,才知道,原因本地的静态页面,也可以有cookie的,因为我之前用的浏览器是chrome和360急速浏览器,而Google Chrome只支持在线网站的cookie的读写操作,对本地html的cookie操作是禁止的。我换成了IE浏览器之后,就可以了。
PS:chrome浏览器的cookie可以在resources里面查看,如下:
以上是关于js 操作 cookie的主要内容,如果未能解决你的问题,请参考以下文章