如何使用JavaScript清除所有cookie?

2021年3月9日15:59:41 发表评论 888 次浏览

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 >

输出如下:

如何使用JavaScript清除所有cookie?1

注意:

如果cookie的" HTTP"属性设置为" True", 则无法使用JavaScript修改其任何属性。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: