前言
之前群里就有小伙伴说了一个不大不小的问题,就是在切换成深色模式后刷新页面,右键菜单还是会显示深色模式,按照逻辑应该显示浅色模式。
今天刚好有空,于是就研究一下这个BUG,并且解决一下。
教程
1.首先找到themes\solitude\source\js\right_menu.js文件
2.在最底部添加如下代码。
// 页面加载时初始化右键菜单模式按钮文本
document.addEventListener('DOMContentLoaded', function () {
// 检测当前主题模式
const isDarkMode = document.body.classList.contains('dark-mode') ||
document.documentElement.getAttribute('data-theme') === 'dark' ||
document.body.getAttribute('data-theme') === 'dark';
// 初始化右键菜单模式按钮文本
if (rm.menuItems.mode) {
rm.mode(isDarkMode);
}
});
// 注册主题变化监听,确保主题切换时右键菜单按钮文本同步更新
if (window.globalFn) {
if (!window.globalFn.themeChange) {
window.globalFn.themeChange = {};
}
// 添加右键菜单的主题变化监听函数
window.globalFn.themeChange.rightMenuMode = function (mode) {
if (rm.menuItems.mode) {
rm.mode(mode === 'dark');
}
};
}
3.保存后一键三连即可。
至此问题就解决了。