Cookie是一些name=value对数据,这些数据可以由浏览器写入客户机硬盘,也可以由浏览器从客户机硬盘读取。Cookie通常用于持久记录客户的某些信息,比如客户的用户名及客户的喜好等,因而可以把Cookie当成一种简单的数据持久化方法。
![5bc61851befa1cb102cb297ec38a78a1.png](https://i-blog.csdnimg.cn/blog_migrate/900af9445f2ea20e5fd828d91621ea05.jpeg)
通常而言,读写Cookie都是由服务器程序(比如JSP页面或Servlet等)控制的,但实际读写Cookie的依然是浏览器,因此JavaScript一样可以控制浏览器读写Cookie。
使用JavaScript控制浏览器读写Cookie很简单,直接给document.cook属性赋值即可,这个属性值必须为如下格式:
=
上面的各种和都可由开发者任意指定。除此之外,添加Cookie时还可指定如下属性。
max-age:指定该Cookie存货的最长有效期。以秒为单位。
expires:指定Cookie的过期时间。
path:指定该Cookie的路径。
domain:指定该Cookie属于哪个域
secure:指定该Cookie的安全属性。
下面的代码通过document.cookie写入Cookie,并指定该Cookie的最长有效期为一年。
document.cookie="name=crazit;max-age"+(60*60*24*365);
下面的代码通过document.cookie写入Cookie,并指定该Cookie的最长有效期为一年,而且该Cookie属于crazyit.org域。
document.cookie="name=crazyit;max-age"+(60*60*24*365)+";domain=crazyit.org;
读取Cookie则略微复杂一点,需要先访问document.cookie属性,该属性返回一个字符串,然后使用JavaScript脚本分析该Cookie字符串。下面的代码示范了如何写入、读取Cookie
上面页面代码的第一行粗体字代码用于添加Cookie,第二行粗体字代码用于读取Cookie。从页面代码中可以看出,添加Cookie就是为document.cookie属性赋值;读取Cookie就是截取document.cookie属性的合适子串。