经常访问本站朋友可能会发现,本站站内页面链接的打开速度快了不少,很多时候点击一个链接甚至能达到秒开的效果,没有任何等待,体验甚是酸爽。今天就为大家介绍一下实现这个效果的黑科技——InstantClick。
InstantClick 加速站内链接打开速度的原理
InstantClick 是一个能加快网站内页面打开速度的 JavaScript 库,该库利用鼠标点击链接前的短暂时间进行预加载,从而在感观上实现了迅速打开页面的效果。
尽管网络带宽已经有很大增加,网站并没有变得更快,这是因为加载网页时的最大平均是网络延时。而延时是一个不可避免的物理限制,因此 InstantClick 使用了预加载的方式来取巧达到加速目的。
在访问者点击一个链接之前,鼠标会悬停在链接上面。悬停(mouseover)或按下(mousedown)与点击(click,按下并松开鼠标)事件之间通常有200ms~300ms 的间隔,InstantClick 利用这个时间间隔预加载页面。这样当你打开页面的时候,其实页面已经加载到本地了,也就会很快能个完成渲染。
InstantClick 设置方法
下载 instantclick.js 文件
在 InstantClick 下载页面下载最小化的 js 文件,只有 1.6kb。
下载链接:http://instantclick.io/v3.1.0/instantclick.min.js
引入 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,省时省力。有些情况下,InstantClick 可能会使某些功能性的链接失效,比如 slider 的导航按钮等。这时候我们只需要使用黑名单在这些链接上禁用掉 InstantClick 功能就可以了。
要在某个链接上禁用 InstantClick,我们只需要在这个链接上添加一个data-no-instant
属性就可以了。
<a href="/blog/" data-no-instant>Blog</a>
在一组链接上禁用 InstantClick
有时候,我们可能想在网站上某一块区域内的链接上禁用 InstantClick,这也很方便,我们只需要给这些链接的父级元素上添加data-no-instant
就可以了。
1 thoughts on “使用 InstantClick 预加载提高站内链接打开速度”
牛逼的博主!支持一个!