InstantClick预加载让你感受到网站的提速,在用户点击页面前先开始加载页面,伴随而来的是增加服务器的压力为代价的,当然这么点压力也可以忽略。毕竟现在服务器贼便宜不是吗?
InstantClick加速打开链接的原理:
1.InstantClick 是一个能加快网站内页面打开速度的 JavaScript 库,该库利用鼠标点击链接前的短暂时间进行预加载,从而在感观上实现了迅速打开页面的效果。
2.尽管网络带宽已经有很大增加,网站并没有变得更快,这是因为加载网页时的最大平均是网络延时。而延时是一个不可避免的物理限制,因此 InstantClick 使用了预加载的方式来取巧达到加速目的。
3.在访问者点击一个链接之前,鼠标会悬停在链接上面。悬停(mouseover)或按下(mousedown)与点击(click,按下并松开鼠标)事件之间通常有200ms~300ms 的间隔,InstantClick 利用这个时间间隔预加载页面。这样当你打开页面的时候,其实页面已经加载到本地了,也就会很快能个完成渲染。
InstantClick 设置方法:
下载 instantclick.js 文件
在 InstantClick 下载页面下载最小化的 js 文件,只有 1.6kb。
引入 instantclick.js 文件并初始化
在主题的 footer.php 中件载入 js,并初始化。
<span class="token operator">...</span>
<span class="token operator"><</span>script src<span class="token operator">=</span><span class="token string double-quoted-string">"instantclick.min.js"</span> data<span class="token operator">-</span>no<span class="token operator">-</span>instant<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span>
<span class="token operator"><</span>script data<span class="token operator">-</span>no<span class="token operator">-</span>instant<span class="token operator">></span>InstantClick<span class="token operator">.</span><span class="token function">init</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token operator"><</span><span class="token operator">/</span>script<span class="token operator">></span>
<span class="token operator"><</span><span class="token operator">/</span>body<span class="token operator">></span>
<span class="token operator"><</span><span class="token operator">/</span>html<span class="token operator">></span>
现在,InstantClick 已经在你网站上激活了,随便点几个链接试试效果吧。
要在某个链接上禁用 InstantClick,我们只需要在这个链接上添加一个data-no-instant属性就可以了。
<span class="token operator"><</span>a href<span class="token operator">=</span><span class="token string double-quoted-string">"http://www.8gws.com/"</span> data<span class="token operator">-</span>no<span class="token operator">-</span>instant<span class="token operator">></span>小辉网络<span class="token operator"><</span><span class="token operator">/</span>a<span class="token operator">></span>
如果想在某一块区域内禁用InstantClick,只需要在其父元素加上这个属性就可以了