ash*_*ish 8 html5 google-chrome prefetch prerender
我一直在使用Chrome的预呈现功能
<link rel="prerender" href="/path" />
Run Code Online (Sandbox Code Playgroud)
但是在lates更新之后,当我尝试使用调试时[chrome://net-internals/#prerender]
.它表明预渲染因中止而中止"Cookie Conflict"
.
我试图调试以确保在页面加载后是否有一些ajax调用正在更改cookie,但是没有找到.预渲染仍然中止.它曾经与以前的chrome版本一起工作得很好.
小智 1
您所看到的情况是由于 cookie 冲突造成的。
例子:
假设a.com使用 cookiegreeting =...来指示用户希望收到的问候语。
假设问候语设置为“hello”。我们预渲染 a.com/a.html,呈现“ greeting=hello ”。当服务器生成 a.html 时,它会从正在预渲染的网页上的 cookie发出“hello” 。
现在,在显示预渲染之前,假设 a.com 上的其他页面将问候语更新为“ greeting=howdy ” 接下来,假设用户导航到 a.com/a.html。预渲染将被交换。但是,它看到的“问候”cookie 版本与现在的值不同。因此,页面仍然显示“hello”,而不是(更新的)“howdy”。
在内部,它跟踪预渲染期间暴露的所有 cookie(在 HTTP 标头或 javascript 中)。如果在显示预渲染之前修改了其中任何一个,则会导致预渲染无效。
您所观察到的就是这种失效。
归档时间: |
|
查看次数: |
402 次 |
最近记录: |