使用 JavaScript 清除所有 Cookie
本文将帮助你使用 JavaScript 清除所有 cookie。
Cookies
允许客户端和服务器通过 HTTP 通信和传输信息。即使在使用无状态协议 HTTP 时,它也允许客户端保留状态信息。
使用 JavaScript 删除当前域的所有 Cookie
当前文档中的 cookie 属性用于更改使用 HTML DOM cookie
属性购买的 cookie 的属性。document.cookie
返回与当前文档关联的所有以分号分隔的 cookie 的字符串。
语法:
document.cookie = 'key=value';
下面的代码显示了如何使用 JavaScript 删除 cookie。该代码在在线编辑器上运行,以证明该代码只能删除你网站生成的 cookie。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
</title>
</head>
<body>
<main>
<script type="text/javascript">
document.cookie = "username=shiv";
document.cookie = "CONSENT=YES+IN.en+20170903-09-0";
function displayCookies() {
var displayCookies = document.getElementById("display");
displayCookies.innerHTML = document.cookie;
}
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
</script>
<button onclick="displayCookies()">Display Cookies</button>
<button onclick="deleteAllCookies()">Delete Cookies</button>
<p id="display"></p>
</main>
</body>
</html>
上面的代码有两个限制。
- 设置了
HttpOnly
标志的 Cookie 不会被删除,因为HttpOnly
标志会禁用 JavaScript 对 cookie 的访问。 - 设置为路径值的 Cookie 不会被删除。 (虽然这些 cookie 出现在
Deleted
下,但如果不为安装路径指定相同的值,则无法删除它们。)
输出:
当你点击显示 Cookie
时,它将显示 cookie。
你还可以在检查器中查看 cookie。
点击 Delete Cookies
后,它会删除它,你必须再次点击显示 cookies,看看它是否被删除。
你还可以在检查器中查看它是否被删除。
相关文章
如何在 JavaScript 中合并两个数组而不出现重复的情况
发布时间:2024/03/23 浏览次数:66 分类:JavaScript
-
本教程介绍了如何在 JavaScript 中合并两个数组,以及如何删除任何重复的数组。
在 JavaScript 中将秒转换为分钟
发布时间:2024/03/23 浏览次数:98 分类:JavaScript
-
JavaScript 中秒到分钟的转换需要基于需要的数学表达式。没有预定义的方法或属性可以直接执行转换。