Chrome Prerender功能每次都会被取消

时间:2012-04-02 09:32:57

标签: javascript html5 google-chrome prerender

我正在尝试chrome中的prerender功能,但是当我检查网络时,我可以看到任何链接都取消了请求。

chrome developer console

我使用以下语法:

<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。

    1. 网址启动下载
    2. 页面中的HTMLAudio或视频
    3. POST,PUT和DELETE XMLHTTPRequests
    4. HTTP身份验证
    5. HTTPS页面
    6. 触发恶意软件警告的页面
    7. 弹出/窗口创建
    8. 检测高资源利用率
    9. 开发人员工具已开启
    10. Flash等插件的初始化将推迟到用户实际访问预渲染页面。

但问题是可以我使用此功能吗?

2 个答案:

答案 0 :(得分:17)

在这种情况下,听起来正在取消预渲染请求,因为您打开了开发人员工具。

如果您想了解有关取消请求的原因的更多信息,请将chrome:// net-internals / #prerender复制并粘贴到您的多功能框中,然后按Enter键。

预渲染几乎适用于您从白皮书中粘贴的取消原因列表中的所有情况。

答案 1 :(得分:1)

Prerender,Prefetching&amp;开发人员工具:

当开发人员工具处于打开状态时(在大多数浏览器中:IE,Chrome,Firefox),

预呈现和预取链接(根本不是相同的功能)被禁用,因为它们都部分基于“缓存” - 实际上是“预取” “完全基于缓存和子资源因为它的作用 - 它将Future内容(仅限顶层)加载到缓存中,因此在导航到下一页时它已经可用。 “prerender”使用缓存,但也将整个页面渲染为后台的“隐藏选项卡”。

启用开发工具时,当前页面不是“缓存”,因为默认情况下,当dev工具打开时,大多数浏览器会禁用缓存。

要查看正在运行的Prerendering并对其进行测试最好的方法是使用任务管理器 - 一旦加载当前页面,您将能够看到Prerender Process Kicking in。

所有你需要了解Prerender / Prefetching Summarized: HERE