修复升级 Butterfly 主题导致图片懒加载出错

本站在 Butterfly v3.6.2 版本时开始使用该主题,随着时间的推移陆续升级到 v4.3.0-b2 及 v4.6.0-b3 版本

在升级到新版本后,博客根目录的 _config.butterfly.yml 未能及时更新,导致其中部分配置使用的是旧版本的配置

最近在浏览博客时发现图片懒加载失效,图片一直卡在 lazyload 状态,无法正常显示,且图片无法点击放大

问题模拟

出现的问题与上图一致,图片无法正常显示,且无法点击放大,点击后前往原图地址

问题分析

在出现问题的页面按下 F12 打开开发者工具,查看网络请求,发现 fancybox.css 与 fancybox.umd.js 的请求为 404

对应请求的 URL 为 https://unpkg.com/@fancyapps/ui@5.0.3/dist/fancybox.css

直接访问该 URL 提示 Cannot find "/dist/fancybox.css" in @fancyapps/ui@5.0.3

前往 npm 官网搜索 fancybox,发现最新版本 5.0.3 的 fancybox.css 与 fancybox.umd.js 已经不再提供

解决方案

默认情况下,Butterfly 主题会使用 unpkg.com 的 cdn 加载 fancybox@latest 版本下的 js 与 css 文件

在 _config.butterfly.yml 中指定 fancybox_v4 的 cdn 的版本号为 4.0.31

1
2
fancybox_v4: https://unpkg.com/@fancyapps/ui@4.0.31/dist/fancybox.umd.js
fancybox_css_v4: https://unpkg.com/@fancyapps/ui@4.0.31/dist/fancybox.css

重新部署博客后,问题解决

封面、头图来自 Unsplash - Anton Darius