我正在尝试chrome中的prerender功能,但是当我检查网络时,我可以看到任何链接都取消了请求。
我使用以下语法:
<link rel="prerender" href="http://example.org/index.html">
我在http://prerender-test.appspot.com/尝试了现场演示并得到了相同的结果。 那是为什么?
更新(来自https://developers.google.com/chrome/whitepapers/prerender):
在某些情况下,在预呈网站时,Chrome可能会遇到可能导致用户可见行为不正确的情况。在这些情况下,预呈现将被默默地中止。其中一些案例包括:
注意:这不是一个详尽的清单。最后更新时间为11/10/11。
但问题是可以我使用此功能吗?
答案 0 :(得分:17)
在这种情况下,听起来正在取消预渲染请求,因为您打开了开发人员工具。
如果您想了解有关取消请求的原因的更多信息,请将chrome:// net-internals / #prerender复制并粘贴到您的多功能框中,然后按Enter键。
预渲染几乎适用于您从白皮书中粘贴的取消原因列表中未的所有情况。
答案 1 :(得分:1)
预呈现和预取链接(根本不是相同的功能)被禁用,因为它们都部分基于“缓存” - 实际上是“预取” “完全基于缓存和子资源因为它的作用 - 它将Future内容(仅限顶层)加载到缓存中,因此在导航到下一页时它已经可用。 “prerender”使用缓存,但也将整个页面渲染为后台的“隐藏选项卡”。
启用开发工具时,当前页面不是“缓存”,因为默认情况下,当dev工具打开时,大多数浏览器会禁用缓存。
要查看正在运行的Prerendering并对其进行测试最好的方法是使用任务管理器 - 一旦加载当前页面,您将能够看到Prerender Process Kicking in。
所有你需要了解Prerender / Prefetching Summarized: HERE