如何通过JavaScript读取和修改Cookie?
时间: 2024-09-08 19:04:53 浏览: 55
在JavaScript中,你可以使用`document.cookie`属性来读取和修改浏览器中的Cookies。以下是基本的操作步骤:
### 读取Cookie:
1. 获取所有Cookie:
```javascript
function getAllCookies() {
return document.cookie.split(';');
}
// 调用函数获取所有的cookie
var cookies = getAllCookies();
```
2. 解析单个Cookie:
```javascript
function getCookie(name) {
var nameEQ = name + '=';
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
if (cookie.indexOf(nameEQ) === 0) {
return decodeURIComponent(cookie.substring(nameEQ.length, cookie.length));
}
}
return null;
}
// 使用名字获取特定的cookie
var myCookieValue = getCookie('myCookieName');
```
### 修改或设置Cookie:
1. 设置新的Cookie:
```javascript
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toUTCString();
}
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/'; // 'path' 可选,指定Cookie应用的路径
}
// 设置名为'myNewCookie'的新Cookie
setCookie('myNewCookie', 'newCookieValue', 7);
```
2. 删除Cookie:
```javascript
function deleteCookie(name) {
setCookie(name, '', -1); // 设置过期时间为过去的时间
}
// 删除名为'myCookieToRemove'的Cookie
deleteCookie('myCookieToRemove');
```
注意,由于同源策略限制,JavaScript只能读取和修改同源的Cookie。同时,为了避免安全风险,现代浏览器可能会阻止某些类型的Cookie。