读取cookie过期日期

Dar*_*der 47 html javascript cookies xhtml

是否可以使用JavaScript读取cookie过期日期?

如果有,怎么样?如果没有,是否有我可以看到的来源?

Dan*_*uis 52

无法通过Javascript获取cookie的过期日期; 只有键值对才会暴露出来document.cookie.

  • 但是,如果您[在创建时明确地将其存储在cookie数据中](http://stackoverflow.com/questions/3417087/jquery-cookie-expiration-value/15221924#15221924),则可以读取日期. (8认同)
  • 是的 - 在设定之后,有效期是不透明的; 它将出现在document.cookie中,直到它到期,此时它将停止. (4认同)

Gau*_*Jha 9

我同意@Daniel 的观点,他在 2009 年回答了这个问题。

但现在,我遇到了类似的问题,我找到了一种更好的方法来读取cookieJavascript 的到期日期。

cookies API 的 CookieStore类型代表浏览器中的 cookie 存储。

您不能将此用于非 HTTPS 站点

这与所有现代浏览器兼容。

你所需要的只是

// list of all the cookies
cookieStore.getAll().then(cookies=>console.log(cookies))

// returns object of the single cookie by NAME   
cookieStore.get('NAME_OF_THE_COOKIE').then(cookies=>console.log(cookies))
Run Code Online (Sandbox Code Playgroud)

CookieStore 的输出将是Promise,因此您需要解析它。之后的结果是以下格式的 cookie 数组。

domain: null
expires: 1615699665000 //TIMESTAMP
name: "STR"
path: "/"
sameSite: "STR"
secure: "BOOL"
value: "STR"
Run Code Online (Sandbox Code Playgroud)

请随时纠正我或更新我的答案,以便更好地帮助其他人。

  • https://caniuse.com/cookie-store-api 支持不佳 (4认同)

skr*_*z14 8

如果您使用的是Chrome,则可以转到"应用程序"标签(在"开发者工具"中),然后在左侧边栏中找到"Cookie"项.从那里选择您正在检查设置cookie的域名,它将为您提供与该域名相关的cookie列表及其到期日期.

  • 因为它不是答案......"转到Chrome"不是"如何使用JavaScript读取Cookie过期日期"的答案 (36认同)
  • 我不明白为什么它没有更多的赞誉-正是我需要做的是验证我设置cookie的JS脚本的新功能是否起作用。谢谢这个 (2认同)
  • 它现在位于名为“应用程序”的选项卡中 (2认同)
  • @Tomino,答案与问题并不完全匹配,但是,如果正确的答案是“不可能”,那么,阅读其他方法会很不错,不是吗? (2认同)