标签 网站加速 下的文章

一个 JS 脚本实现网站预加载,提升页面加载速度


instant.page使用即时预加载技术,在用户点击之前预先加载页面。当用户的鼠标悬停在一个链接上超过 65 毫秒时,浏览器会对此页面进行预加载,当用户点击链接后,就从预加载的缓存中直接读取页面内容,从而达到缩短页面加载时间的目的。

以我博客为例,使用了这项技术后,当鼠标在一个链接停留超过 65 毫秒时,Network 里可以看见相关文章已经预加载出来了,而停留时间过短就不会预加载(红色部分,状态为 canceled)

使用方法:
将以下HTML代码放在</ body> 之前即可:
<script src="//instant.page/5.1.0" type="module" integrity="sha384-by67kQnR+pyfy8yWP4kPO12fHKRLHZPfEsiSXR8u2IKcTdxD805MGUXBzVPnkLHw"></script>

但是此脚本是官方的,储存在国外服务器,对国内访问不太友好,可以将该JS脚本储存到自己的服务器上,点此获取该JS脚本,然后再根据以下格式在</ body> 之前引用:
<script src="存放路径/instant.js" type="module"></script>

也可以直接使用我的,使用 jsDeliver CDN 加速,速度还可以:
<script src="https://cdn.jsdelivr.net/gh/smallmocha/BlogAssets/assets/instant.js" type="module"></script>


免费CDN jsdelivr + github实现免费全球CDN


前言

由于某些原因,很多公用免费的 CDN 资源(例如减速CDN CloudFlare)在中国大陆并不很好用,就算是付费的,也有一定的限制,例如每天的刷新次数有限之类的。那有没有一款造福人类的,或者造福中国大陆的公用 CDN 呢?

JSDelivr

JSDelivr能够集成 Github、NPM 资源,只需要通过符合 JSDelivr 规则的 URL 引用,即可直接使用 Github 中的资源。

例如本站的图片直接通过 jsdelivr 引用 github 的资源 https://cdn.jsdelivr.net/gh/smallmocha/BlogAssets/img/weblogo.jpg,当然还有各种静态资源(js css等)也可通过jsdelivr来前后端分离,以及jsdelivr的自带cdn来加速访问。博主的博客主题所有js和css等静态资源全部使用jsdelivr+github实现cdn加速,一些常用的bootstrap,mathjax等库也直接用jsdelivr加载。

这是国内访问jsdelivr访问github资源的速度图
jsdelivr访问github资源速度

使用方法

https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径
注意:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源。