hookehuyr

fix(图标): 修复并优化favicon处理逻辑

移除课程卡片中重复的订阅信息显示
恢复默认favicon并添加时间戳避免缓存问题
......@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" /> -->
<link rel="icon" type="image/svg+xml" href="/vite.jpg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
<title>美乐爱觉</title>
</head>
......
......@@ -36,9 +36,9 @@
{{ course.buy_count }}人订阅
</div>
</div>
<div class="text-gray-400 text-xs">
<!-- <div class="text-gray-400 text-xs">
已更新{{ course.count }}期 | {{ course.buy_count }}人订阅
</div>
</div> -->
</div>
</router-link>
</template>
......
......@@ -409,6 +409,28 @@ function remove_favicon() {
if (link && link.parentNode) {
link.parentNode.removeChild(link);
}
// 移除后恢复默认图标,避免浏览器继续沿用上一次缓存的图标
set_default_favicon();
}
/**
* @function set_default_favicon
* @description 设置默认 favicon 为 /vite.svg,并通过时间戳参数避免缓存导致图标不更新。
*/
function set_default_favicon() {
const head = document.head || document.getElementsByTagName('head')[0];
if (!head) return;
const default_id = 'default-favicon';
let link = document.querySelector('link#' + default_id);
if (!link) {
link = document.createElement('link');
link.setAttribute('rel', 'icon');
link.setAttribute('type', 'image/svg+xml');
link.setAttribute('id', default_id);
head.appendChild(link);
}
// 加上时间戳,确保浏览器立即刷新图标而非使用旧缓存
link.setAttribute('href', `/vite.jpg?_ts=${Date.now()}`);
}
const $route = useRoute();
......