instantclick.js预加载实现网页秒开 您所在的位置:网站首页 米虫博客 instantclick.js预加载实现网页秒开

instantclick.js预加载实现网页秒开

2024-06-04 15:19| 来源: 网络整理| 查看: 265

instantclick.js加速原理

instantclick.js利用用户点击链接或者悬浮在链接上的时候,对新页面进行预加载。

使得访问新页面的时候能够实现更快速度打开甚至秒开的情况,对于用户体验有着极大的提升。

instantclick.js在页面跳转时通过对body体和title替换进行快速加载。

因此这将意味着你的网页并不是真正的跳转到那个新的页面。

所以如果你的新页面中定义了一些DOMContentLoaded或jQuery.ready()触发的初始化动作都不会进行执行。

当然可以通过instantclick.js提供的监听事件来解决这个问题。

顶部进度条

instantclick.js在用户点击链接的时候,预置了一个顶部的加载条。

当然了,这个进度条进度条是假的,只是让用户意识到将要发生页面的跳转。

默认情况,进度条的颜色是#29d,可以用CSS改变配色。

#instantclick-bar { background: white; } /*可以消失*/ #instantclick { display: none; } 加速方案

instantclick.js提供了多种预加载的方案,需要根据您的网站场景进行选择。

悬停预加载:on mouseover (hover)默认方案 鼠标移到超链接上就进行预加载,如果页面内容不是特别多,用户点击链接进入文章会立即显示。 传说中的秒开就可以通过此模式实现。 点击瞬间预加载:on mousedown 在用户鼠标点击的瞬间来预加载页面,有不错的速度提升。 悬停延时预加载: on mouseover with a delay 如果用户将鼠标悬停你的超链接后,instantclick.js将根据你设置的时间延迟预加载。 建议延迟是100ms和50ms。 超过100ms实际上可能比on mousedown慢,小于50ms和on mouseover (hover)几乎无差异。

关于加速模式的选择主要根据服务器所能接受的开销能力选择即可。

预加速案例

首先,需要下载一个instantclick.js到您网站本地。

下载地址:http://instantclick.io/download

//选择点击瞬间预加载模式 InstantClick.init("mousedown"); 事件监听预回调

instantclick.js提供了4个事件用于进行调用开发。

change:页面更改完毕,即click触发 fetch:页面开始预加载 receive:页面预加载完毕,hover或mousedown触发的预加载,但不一定会change,因为用户不一定click wait:用户点击一个链接,但是还没有加载的页面,只有立即触发页面时不显示

这里比较常用的是change事件,前文中提到instantclick.js会使得一些新页面中定义的初始化JS操作失效,通过change就可以达到兼容。

InstantClick.on("change", function() { //比如新页面有个初始化表单数据的方法 initFormNumber(); }); InstantClick.init(); 特殊属性申明

data-no-instant:黑名单 黑名单的链接,添加一个data-no-instant属性,表示该页面不需要预加载

注销登录

如果页面有区域的多个链接都不需要预加载,可以通过指定父级标签方式实现。

注销登录 修改密码

data-instant:白名单 这个与黑名单相反,属于指明一定需要预加载的链接。 白名单优先级高于黑名单。

全站地图 修改密码


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有