You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Chrome地址栏锁图标显示Cookie但DevTools>Application面板不显示?

关于Chrome DevTools Application面板与地址栏锁图标Cookie显示差异的解析

嘿,这个问题我之前也碰到过,大概率不是Chrome的Bug,而是两个入口的展示逻辑设计不同导致的,咱们一步步拆解原因:

  • httpOnly Cookie的隐藏机制:地址栏锁图标里的Cookie菜单会展示当前站点的所有Cookie,包括标记为httpOnly的;但DevTools的Application面板默认是不显示httpOnly Cookie的!你可以看看面板顶部有没有一个「Show httpOnly」的复选框,勾选它之后,那些httpOnly的Cookie就会出来了——这是最常见的“消失”原因,很多人第一次用都没注意到这个选项。

  • DevTools的上下文选择问题:Application面板顶部有个下拉菜单,用来选择当前要查看的页面或iframe。如果你不小心选中了页面里的某个子iframe,而你关注的Cookie是属于主域名的,那这个iframe对应的Cookies区域自然是空的。但地址栏锁图标展示的是整个站点的所有Cookie,不受当前DevTools上下文的影响,所以会显示出来。

  • Secure Cookie的协议匹配:如果你的Cookie标记为Secure,它只会在HTTPS页面下被正常展示和发送。不过既然你能看到地址栏的锁图标,说明当前页面是HTTPS,这个原因可能性较低,但可以确认下Cookie的属性是否和当前页面协议匹配。

  • DevTools状态异常的小概率情况:虽然你试过刷新和重启Chrome,但有时候DevTools的会话会残留一些奇怪的状态。你可以试试右键点击地址栏的刷新按钮,选择「清空缓存并硬性重新加载」,或者打开DevTools的设置(按F1),选择「Restore defaults and reload」重置DevTools的配置,说不定能解决一些偶发的显示问题。

总结一下:这种显示差异是设计逻辑的不同,不是Bug。优先检查Application面板的「Show httpOnly」复选框和上下文选择,基本就能找到原因啦。

内容的提问来源于stack exchange,提问作者Dan

火山引擎 最新活动