js原生cookie的使用

原生cookie的使用通过document.cookie()

新增cookie

document.cookie(name=value; path="/")

设置Cookie时,可以指定以下参数:

  1. name:Cookie的名称,是一个字符串。

  2. value:Cookie的值,也是一个字符串。

  3. expires:Cookie的过期时间,是一个Date对象或者是一个表示日期的字符串。当指定了一个过期时间后,浏览器会在该时间后自动删除这个Cookie。

  4. max-age: 秒为单位,最大存活时长

  5. path:Cookie的有效路径,是一个字符串。如果设置为一个空字符串或者不设置该属性,则表示该Cookie在当前URL的目录下有效。如果设置为“/”,则表示该Cookie在当前网站的所有页面中都有效。

  6. domain:Cookie的有效域名。如果设置为一个空字符串或者不设置该属性,则表示该Cookie在当前页面的域名下有效。如果设置为一个具体的域名,则表示该Cookie在该域名下的所有子域名都有效。

  7. secure:一个布尔值,表示是否仅通过HTTPS协议传输Cookie。如果设置为true,则表示该Cookie仅通过HTTPS协议传输。

  8. httpOnly:一个布尔值,表示是否仅通过HTTP协议访问Cookie。如果设置为true,则表示该Cookie仅能通过HTTP协议访问,不能通过JavaScript访问。这可以防止某些跨站脚本攻击(XSS)尝试访问和窃取Cookie信息。

这些参数可以根据实际需求进行组合使用,以实现不同的Cookie设置效果。

修改cookie的值也是和新增一样,重新设置cookie的值

获取cookie的值

获取cookie的值只能把所有的cookie拿出来再去切割获取

// 获取当前用户cookie
function getCookie(name) {
  const cookies = document.cookie.split("; ")
  for (let i = 0; i < cookies.length; i++) {
    const cookie = cookies[i].split("=")
    if (cookie[0] === name) {
      return decodeURIComponent(cookie[1])
    }
  }
  return null
}

转义字符串

如果cookie存的值中包含中文,会被转码,需要使用decodeURIComponent()

删除cookie

删除cookie只要设置有效期为过去的时间就行

function clearCookie(cookieName) {
  document.cookie = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}

把需要去除的cookie值置为空,在设置过去的过期时间

posted @   嘿!那个姑娘  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示