我正在尝试 chrome 中的预呈现功能,但是当我检查网络时,我可以看到任何链接的请求都被取消了。
我正在使用以下语法:
<link rel="prerender" href="http://example.org/index.html">
我在 http://prerender-test.appspot.com/ 试过现场演示并得到相同的结果。 这是为什么?
更新(来自 https://developers.google.com/chrome/whitepapers/prerender ):
在某些情况下,在预呈现网站时,Chrome 可能会遇到可能导致用户可见的不正确行为的情况。在这些情况下,预渲染将被静默中止。其中一些案例包括:
注意:这不是一个详尽的列表。最后更新于 2011 年 11 月 10 日。
- URL 启动下载
- 页面中的 HTML 音频或视频
- POST、PUT 和 DELETE XMLHTTP 请求
- HTTP 身份验证
- HTTPS 页面
- 触发恶意软件警告的页面
- 弹出/窗口创建
- 高资源利用率检测
- 开发者工具已打开
- Flash 等插件的初始化将推迟到用户实际访问预呈现页面时进行。
但问题是什么时候可以使用此功能?
最佳答案
在这种情况下,预呈现请求似乎被取消了,因为您打开了开发者工具。
如果您想查看有关请求被取消原因的更多信息,请将 chrome://net-internals/#prerender 复制并粘贴到您的多功能框中,然后按回车键。
在您从白皮书中粘贴的取消原因列表中未列出的几乎所有情况下,预呈现都应该有效。
关于javascript - Chrome Prerender 功能每次都被取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973992/