如何解决Chrome 开发工具中的“X 帧使用的 Cookie”是什么意思? 关于没有对应框架的“空”框架
在 Chrome Dev Tools > Cookies 下的应用程序中,我看到了一个 URL 列表。当我将鼠标悬停在每一个上时,Chrome 会显示消息“来自 X 的帧使用的 Cookie”。
起初,我假设框架意味着“iframe”,即如果在此网页上使用来自源 X 的 iframe,那么通过访问该站点(该站点的 iframe 视图)设置的任何 cookie 都将显示在开发工具中你的检查。但是,我检查了每个来源是否总是有相应的 iframe,但事实并非如此。
所以我的问题总结如下:
-
在这种情况下,“框架”是什么意思?
-
为什么这些 cookie 几乎总是空的?例如,我现在正在查看“来自 https://www.facebook.com 的框架使用的 Cookie”,它是空的。
解决方法
如 Chrome DevTools documentation 中所述:
当您展开 Cookies 类别时,它会显示一个域列表 主文档和所有加载框架的文档。选择其中之一 这些“框架组”显示所有 cookie、所有资源、所有 该组中的帧。这种分组有两个后果 请注意:
- 来自不同域的 Cookie 可能出现在同一个框架组中。
- 同一个 cookie 可能出现在多个帧组中。
这是来自 Mozilla Storage Inspector documentation 的更明确的解释(虽然不是 Chrome,但概念类似):
Cookies — 页面或其中的任何 iframe 创建的所有 cookie 这一页。作为网络调用响应的一部分创建的 Cookie 是 也列出,但仅适用于工具打开时发生的调用。
因此,基本上,您将看到主文档的域及其所有 iframe。
关于没有对应框架的“空”框架
这很有趣。它与 Chrome has 的 Preload pages for faster browsing and searching example
或 Page Prefetch
或 prerendering
功能有关。
此功能位于 Chrome 设置 > 隐私和安全 > Cookie 和网站数据下。
此功能的作用是在您可能要点击的页面上预取链接。这允许页面在访问时加载得更快。
如果您深入研究他们的文档,您会发现 this:
预渲染请求将使用 ChromeURLRequestContext 新的 CookieStore 接口,但其他方面与当前相同 个人资料的 ChromeURLRequestContext。如果 PrerenderContents 是 丢弃而不使用,对 CookieStore 所做的更改 界面消失。否则,增量将提交给主 用于配置文件的 CookieStore。如果出现合并问题, 丢弃预渲染页面并发出新请求。
这意味着对于使用不同 CookieStore 的预渲染请求 - 这就是它在您的主配置文件 DevTools 上为空的原因。它将 cookie 存储在不同的存储中,并在您实际单击链接后将它们合并到主存储中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。