Eswink Eswink
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
  • 注册
    登录
现在登录。
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
首页 代码发布 页面优化:使用JS脚本实现页面链接预加载

页面优化:使用JS脚本实现页面链接预加载

小伍同学 2022-05-01 2:16:04 本文共1498个字,预计阅读时间需要4分钟
1 星2 星3 星4 星5 星 (已有2 点评, 平均得分: 5.00)您还未点评
Loading...

众所周知,为访客创造一个良好舒适的浏览环境,文章的加载算是其中重要的一环,所以文章页面的预加载在这其中也是扮演了一个关键的角色。本次为各位站长介绍Instant.Page这个js脚本插件,它能够自动判断是否预加载文章,并且实现预缓存。

页面优化:使用JS脚本实现页面链接预加载图片
Instant.page

效果演示

经过测试,发现 instant.page 对站内访问速度的提升的确很给力。然而它只会预加载自己的站内链接,而不会预加载其他外链。如图所示,当鼠标在左侧文章链接悬停超过 65ms 后,右侧 Network 即会对文章页面进行预加载。而悬停未超过 65ms 时,则不会进行预加载。

页面优化:使用JS脚本实现页面链接预加载图片1

引入方法

GitHub项目:https://github.com/instantpage/instant.page

官方使用方法,代码添加到网站的</body>标签之前

<script src="//instant.page/1.2.2" type="module" integrity="sha384-OeDn4XE77tdHo8pGtE1apMPmAipjoxUQ++eeJa6EtJCfHlvijigWiJpD7VDPWXV1"></script>

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

<script type="module" src="存放路径"></script>

PHP代码引入

添加自定义PHP函数,对wp_footer进行挂钩。将以下代码添加到主题的functions.php文件中,即可实现站点页面预加载,也可以在footer.php中手动引入js插件。

function add_instant(){
    echo '<script type="module" src="https://cdn.bootcss.com/instant.page/3.0.0/instantpage.js"></script>';
}
add_action( 'wp_footer', 'add_instant', 100 );
//添加预加载

bootcdn加速

<script type="module" src="https://cdn.bootcss.com/instant.page/3.0.0/instantpage.js"></script>

定义预加载

白名单标签属性: data-instant ,例:

<a href="https://www.esw.ink" data-instant>Eswink</a>

黑名单标签属性: data-no-instant ,例:

<a href="https://www.baidu.com" data-no-instant>百度</a>

全局允许:在 <body> 中添加 data-instant-allow-query-string 属性

局部允许:在使用的标签中添加 data-instant 属性(和白名单属性一样)

仅预加载部分指定链接(白名单模式):如果只想预加载特定的链接,请在 <body> 中添加一个 data-instant-whitelist 标签,并通过向其添加 data-instant 属性来标记要预加载的链接。

注意

预加载可能会存在增加耗费少量 CDN 流量问题,请自行对比后考虑是否使用。并且此方法可能会对您的服务器造成负担,毕竟会随时加载页面,如果在并发比较高的情况下,可能会导致服务器宕机的问题,所以需要对自己的网站进行审视后再进行添加。

谨记,本插件只是实现预加载功能,如果在「Network」中选择「停用缓存」,预加载缓存效果会失效!

#instant#instant.page#js#JS预加载#页面预加载
0
小伍同学
一个即将入土的程序猿
赞赏
小伍同学
评论 (0)
返回
    发表评论
猜你喜欢
  • 巧妙应用Docker运行HuggingFace
  • 如何利用GO中的泛型实现客户端分页API
  • 通用网盘下载链接检测_Serverless云函数应用
  • SpringCloud分布式组件之玩转Nacos
  • Easywoole框架实战_封装批量更新数据ORM
小伍同学
一个即将入土的程序猿
130
文章
60
评论
169
获赞
小伍同学
30 12月, 2020
一天一个WordPress小技巧:如何给自己的网站添加公告弹窗
Copyright © 2020-2022 Eswink. Designed by nicetheme. 川公网安备 51012202000979号 | 蜀ICP备20002650号-6
当前线路为: 国内线路
本站已安全运行:
本站由酷盾安全提供高防CDN国际线路安全防护服务
友链: Eswink 信息笔记 网站目录 站长新动力 脚本挂机引流赚钱 勇康博客网 龙笑天下 HTTP代理 QYV企业商务咨询 镇北府博客 吾爱漏洞 祭夜の咖啡馆 杭州论坛 龙鳞收录网 KIENG博客 Hackyh‘Blog
在线客服
小伍同学
我们将会在24小时内回复您,如果有急事请联系QQ或者微信
12:01
您好,有任何疑问请与我们联系!
公众号

选择聊天工具: