instant.page

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费额度!

instant.page 是 Alexandre Dieulot 的一个非常酷的项目。Alexandre 对这个想法已经研究了五年了,就像他的 InstantClick 一样,本质上是一样的想法。

这个想法是,在将鼠标悬停在链接上和点击链接之间存在明显的延迟。假设需要 300 毫秒的延迟。这 300 毫秒可以用来预加载下一页。如果您确实利用这段时间进行预加载,则该页面加载速度会更快。

这个新项目利用了更新的技术来完成这项工作。 代码很少,其核心是在您即将点击/触碰的链接的文档中追加一个 。

该页面鼓励您热链接脚本,这意味着如果您已经访问过使用此脚本的页面,则可能会命中缓存。它不像其他第三方 JavaScript 那样有风险,因为 integrity 属性意味着,如果您信任当前的代码,则除非您同时更改该属性,否则它永远不会更改。它还巧妙地使用 type="module" 来防止它在不支持预取的浏览器中加载任何内容。

尽管如此,如果您愿意,也可以自行托管它。我不知道是谁在为这里的带宽买单,所以另一个风险是,如果脚本有一天停止响应,可能会出现挂起的情况。

您可能会争辩说,它并没有像可能的那样绝对负责任地执行预取。谷歌类似的快速链接库(我们在这里介绍过)做了两件有趣的事情,试图更负责任地进行预取:1) 等待 requestIdleCallback 和 2) 尊重来自 navigator.connection 的信息,例如用户启用数据节省模式。

直接链接 →