使用 InstantClick 预加载提高站内链接打开速度

来自:互联网
时间:2018-11-14
阅读:

经常访问本站朋友可能会发现,本站站内页面链接的打开速度快了不少,很多时候点击一个链接甚至能达到秒开的效果,没有任何等待,体验甚是酸爽。今天就为大家介绍一下实现这个效果的黑科技——InstantClick。

InstantClick 加速站内链接打开速度的原理

InstantClick 是一个能加快网站内页面打开速度的 JavaScript 库, 该库利用鼠标点击链接前的短暂时间进行预加载 ,从而在感观上实现了迅速打开页面的效果。

尽管网络带宽已经有很大增加,网站并没有变得更快,这是因为加载网页时的最大平均是网络延时。而延时是一个不可避免的物理限制,因此 InstantClick 使用了预加载的方式来取巧达到加速目的。

在访问者点击一个链接之前,鼠标会悬停在链接上面。悬停(mouseover)或按下(mousedown)与点击(click,按下并松开鼠标)事件之间通常有200ms~300ms 的间隔,InstantClick 利用这个时间间隔预加载页面。这样当你打开页面的时候,其实页面已经加载到本地了,也就会很快能个完成渲染。

InstantClick 设置方法

下载 instantclick.js 文件

在 InstantClick 下载页面下载最小化的 js 文件,只有 1.6kb。

下载链接:http://instantclick.io/download

引入 instantclick.js 文件并初始化

在主题的 footer.php 中件载入 js,并初始化。

...
<script src="instantclick.min.js" data-no-instant></script>
<script data-no-instant>InstantClick.init();</script>
</body>
</html>

现在,InstantClick 已经在你网站上激活了,随便点几个链接试试效果吧。

在某些链接上禁用 InstantClick

以上的代码默认在所有链接上启用了 InstantClick,省时省力。有些情况下,InstantClick 可能会使某些功能性的链接失效,比如 slider 的导航按钮等。这时候我们只需要使用黑名单在这些链接上禁用掉 InstantClick 功能就可以了。

要在某个链接上禁用 InstantClick,我们只需要在这个链接上添加一个data-no-instant属性就可以了。

<a href="/blog/" data-no-instant>Blog</a>

在一组链接上禁用 InstantClick

有时候,我们可能想在网站上某一块区域内的链接上禁用 InstantClick,这也很方便,我们只需要给这些链接的父级元素上添加data-no-instant就可以了。

返回顶部
顶部