gpt4 book ai didi

html - Google Chrome 预渲染中的 "cookie conflict"

转载 作者:太空狗 更新时间:2023-10-29 13:52:49 24 4
gpt4 key购买 nike

我一直在使用 Chrome 的预渲染功能

<link rel="prerender" href="/path" />

但是在最近的更新之后,当我尝试使用 [chrome://net-internals/#prerender] 进行调试时。它表明预呈现由于 “Cookie 冲突” 而中止。

我尝试调试以确保某些 ajax 调用在页面加载后是否正在更改 cookie,但没有找到。预渲染仍然中止。它过去可以与以前的 chrome 版本一起正常工作。

最佳答案

您看到的是 cookie 冲突造成的。

示例:

假设 a.com 使用 cookie greeting=... 来指示用户希望收到的问候语。
假设问候语设置为“你好”。我们prerender a.com/a.html,呈现“greeting=hello”。当服务器生成 a.html 时,它将从正在预呈现的网页上的 cookie 发出“hello”

现在,在显示预呈现之前,假设 a.com 上的某个其他页面将问候语更新为“greeting=howdy”接下来,假设用户导航到 a.com/a.html。预呈现器将被换入。但是,它看到的“问候”cookie 的版本与现在的值不同。因此,页面仍然显示“你好”,而不是(更新后的)“你好”。

在内部,它跟踪所有 cookie 在预呈现期间公开(在 HTTP header 或 javascript 中)。如果在显示预渲染之前修改了其中任何一个,它会使预渲染无效。

这种失效是您观察到的。

关于html - Google Chrome 预渲染中的 "cookie conflict",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26247142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com