在Hexo Butterfly 里添加自定义加载页面
DOM 生命周期事件
document.addEventListener('DOMContentLoaded', ...):网页在载入的时候首先会解析HTML并构建DOM树。当这一步完成的时候该事件就会触发,此时css可能还没完全加载,其他网页资源如图片等也可能没完全加载完成。
window.addEventListener('load', ...):当所有网页资源加载完毕的时候触发,一般比DOM树加载晚得多。
window.addEventListener('beforeunload', ...):当用户要离开界面的时候触发,可能是跳转也可能是主动关闭页面。可以用来保存数据和弹出提示(现代浏览器一般会限制提示内容)
要创建一个加载页面我们一般会用到第二个事件: load。 我们可以创建一个position:fixed的加载页面,然后在监听到页面加载完成的时候将他消除,例如display:none。
在hexo butterfly添加自定义加载页面
仅仅对于hexo: 7.3.0版本

- 找到文件夹
yourBlog/themes/butterfly打开layout文件夹:

打开
layout/includes/loading文件夹,里面默认只有index.pugpace.pugfull-page-loading.pug创建你自己的
my-loader.pug里面有内联的css和js以及pug格式的HTML。可以直接把你的代码喂给AI转换为PUG格式(和原生HTML CSS JS 没啥区别)。把原本的
index.pug里面替换为:1
2
3if theme.preloader.enable
if theme.preloader.source === 1
include ./my-loader.pug
最后在terminal hexo cl hexo g hexo s 就可以预览了, 如果效果可以的话hexo d就可以部署。
评论



