我之前不是跟大家说网站的目录有问题吗?

那个问题只需要一次刷新就好了,也就是说完全可以添加一个 JS 直接在用户端刷新页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
(function() {
let refreshTimer = null;

function waitForImages() {
const images = Array.from(document.images);
const pendingImages = images.filter(img => !img.complete);

if (pendingImages.length === 0) {
return Promise.resolve();
}

return Promise.all(
pendingImages.map(img => new Promise(resolve => {
img.addEventListener('load', resolve, { once: true });
img.addEventListener('error', resolve, { once: true });
}))
);
}

async function scheduleRefresh() {
if (refreshTimer) {
clearTimeout(refreshTimer);
refreshTimer = null;
}

await waitForImages();

refreshTimer = setTimeout(() => {
location.reload();
}, 1500);
}

const nav = performance.getEntriesByType('navigation')[0];
if (!nav || nav.type !== 'reload') {
scheduleRefresh();
}

const pjaxEvents = [
'pjax:complete',
'page:load',
'turbolinks:load',
'barba:transitionend',
'astro:page-load',
'pjax:success',
'popstate'
];

pjaxEvents.forEach(eventName => {
window.addEventListener(eventName, scheduleRefresh);
});
})();

添加进配置文件中:

1
2
3
4
5
6
7
8
inject:
head:
# - <link rel="stylesheet" href="/xxx.css">
- <link rel="stylesheet" href="/assets/css/fonts.css">
- <link rel="stylesheet" href="/assets/css/svg.css">
bottom:
# - <script src="xxxx"></script>
- <script src="/assets/js/reload.js"></script>

而不需要原来那个 CSS,也就是说我原来写的:

1
2
3
4
5
6
7
p > img
{
width: 100%;
height: auto;
aspect-ratio: 4 / 3;
object-fit: cover;
}

存粹就是来搞笑的,甚至还会导致评论区的贴片表情包也跟着异常,所以现在我删除了这个。

最近不知道怎么回事,精神状态不好,啥都搞错了……