cookie为客户端和服务器提供一种通过HTTP进行交互和传递信息的方式。即使使用HTTP(无状态协议), 这也使客户端能够存储状态信息。当浏览器从服务器请求网页时, 服务器将为请求提供服务并"忘记"访问。但这会将一些信息传递给用户的浏览器。浏览器以键=值对的形式存储信息, 并管理该信息。
- 每次用户浏览器对该域进行每次访问时, 都会在HTTP请求标头中传递Cookie信息。
- 登录详细信息, 同意, 其他首选项之类的信息用于增强和定制用户体验。
HTTP cookie到期, 日期和时间在" expires"属性中指定。结果, 当日期和时间超过到期日期(和时间)时, 浏览器会自动删除cookie。由于此属性是可配置的*, 因此可以通过将"过期"设置为已通过的任何值来删除所有cookie。
当前文档的cookie属性用于修改使用以下命令购买的cookie的属性HTML DOM cookie属性。的document.cookie返回所有cookie的单个字符串, 并用与当前文档关联的分号分隔。
语法如下:
document.cookie = "key=value";
代码如下:以下代码说明了如何使用JavaScript删除cookie。该代码在在线编辑器上运行, 以证明该代码只能删除你网站创建的cookie。
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title >
Clear cookies using Javascript
</ title >
</ head >
< body >
< center >
< h1 style = "color:green" >
lsbin
</ h1 >
< script type = "text/javascript" >
document.cookie = "1P_JAR=akjdsbJKHdjhbk";
document.cookie = "CONSENT=YES+IN.en+20170903-09-0";
function displayCookies() {
var displayCookies = document.getElementById("display");
displayCookies.innerHTML = document.cookie;
}
function deleteCookies() {
var allCookies = document.cookie.split(';');
// The "expire" attribute of every cookie is
// Set to "Thu, 01 Jan 1970 00:00:00 GMT"
for (var i = 0; i < allCookies.length ; i++)
document.cookie = allCookies [i] + "=;expires="
+ new Date(0).toUTCString();
displayCookies.innerHTML = document .cookie;
}
</script>
< button onclick = "displayCookies()" >Display Cookies</ button >
< button onclick = "deleteCookies()" >Delete Cookies</ button >
< p id = "display" ></ p >
</ center >
</ body >
</ html >
输出如下:
注意:
如果cookie的" HTTP"属性设置为" True", 则无法使用JavaScript修改其任何属性。