一、预加载图标(放入header.php中)
为避免图标切换时的闪烁或延迟,建议在页面头部预加载两个图标:
<!-- 预加载动态 Favicon -->
<link rel="preload" href="/usr/themes/OneBlog/static/img/cat.png" as="image">
<link rel="preload" href="/usr/themes/OneBlog/static/img/welcome.png" as="image">
将代码插入主题的 header.php 文件中,位于 标签内。
二、JavaScript 动态标题代码
/* 动态网站标题与 Favicon 切换 */
var OriginTitle = document.title; // 保存原始标题
var titleTime;
// 查找现有的 Favicon link 元素(兼容 rel="icon" 或 "shortcut icon")
var favicon = document.querySelector('link[rel="icon"]') ||
document.querySelector('link[rel="shortcut icon"]');
// 若未找到,则动态创建一个
if (!favicon) {
favicon = document.createElement('link');
favicon.rel = 'icon';
favicon.type = 'image/png';
document.head.appendChild(favicon);
}
// 图标路径(根据你的主题路径配置)
var leaveIcon = "/usr/themes/OneBlog/static/img/cat.png"; // 离开时图标
var returnIcon = "/usr/themes/OneBlog/static/img/welcome.png"; // 返回时图标
// 监听页面可见性变化
document.addEventListener('visibilitychange', function () {
if (document.hidden) {
js代码我是直接放在/storage/emulated/0/Android/data/bin.mt.plus/temp/CleanOnExit/9952237_net/850b5c8/main.js这里面的