butterfly控制特定图片懒加载
AI-摘要
切换
AnZhiYu GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
butterfly控制特定图片懒加载
安知鱼经常看我博客的同学应该不难发现我的文章顶图偶尔进来以后还要等一会才能出现,还有加载动画的图片偶尔加载不出来,后来经过我一系列的排查发现居然是懒加载的缘故。
观察 network 选项卡可以发现我们需要让启动器改变,不让lazyload.iife.min.js
来加载我们的顶图与加载动画的头像。
方案一
可以使用 css 的background
属性而不使用 img 标签,就可以做到启动器变成对应的 css,从此排除懒加载的影响。
1 | .loading-img { |
方案二(推荐)
虽然 css 的方式可以做到排除但是这并不是我们所预期的,部分情况为了 seo 我们需要 img 标签且如果有多个特定图片需要指定不太好写 css,于是就产生了方案二。
我们观察butterfly
对懒加载的实现可以发现,在themes/butterfly/scripts/filters/post_lazyload.js
中第11行左右
的lazyload方法
中替换了所有的img标签
的src属性
,所以我们可以通过修改正则表达式来匹配,以达到我们的目的
预期:给图片添加上 class 为nolazyload
时不使用懒加载
代码修改themes/butterfly/scripts/filters/post_lazyload.js
,将 lazyload 方法修改
1 | function lazyload(htmlContent) { |
给对应的图片添加 class, 修改themes/butterfly/layout/includes/header/index.pug
, 注意 ⚠️,butterfly 默认顶图是使用的 background 属性设置,为了 seo 我改为了 img 标签。
1 | if top_img !== false |
大功告成!
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果