最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何在米侠浏览器中通过脚本进行网页暗黑模式切换?
时间:2026-06-27 10:28:47 编辑:袖梨 来源:一聚教程网
需先升级至v3.8.2+正式版并开启「允许运行用户脚本」,再通过持久化用户脚本绑定Ctrl+Shift+D快捷键,动态注入CSS样式强制接管DOM,绕过米侠不支持prefers-color-scheme的限制,同时移除干扰meta标签、修复SVG失真。
在米侠浏览器中通过脚本实现网页暗黑模式切换,需绕过其不支持原生CSS媒体查询监听的限制,直接操作页面DOM与样式表,确保切换即时生效且不触发页面重载。
确认米侠浏览器脚本执行环境
打开米侠浏览器 → 进入「设置」→「高级」→「开发者选项」→ 开启「允许运行用户脚本」。若该选项灰显,说明当前版本为精简版,【必须升级到v3.8.2及以上正式版】,否则后续所有脚本均无法注入。
在任意网页按 F12 打开开发者工具 → 切换到 Console 标签页 → 输入 alert('test') → 回车。若弹窗出现,证明脚本执行通道已通;无反应则需重启浏览器并重新检查开启状态。
注入基础暗黑模式切换脚本
方法一:控制台临时执行(适合调试)
在目标网页的 Console 中粘贴以下代码后回车:
document.documentElement.classList.toggle('dark-mode'); document.documentElement.style.cssText += 'filter: invert(1) hue-rotate(180deg);';
该方式仅反转颜色,不处理图片和表单元素,且刷新即失效。
方法二:持久化用户脚本(推荐)
点击地址栏右侧「脚本管理器」图标 → 「新建脚本」→ 粘贴以下完整逻辑:
// ==UserScript==n// @name 网页暗黑模式切换n// @namespace mihelper.darkn// @version 1.2n// @description 按 Ctrl+Shift+D 切换暗黑模式,自动适配文本/背景/输入框n// @match *://*/*n// @grant nonen// ==/UserScript==nnconst toggleDark = () => {n if (document.body.classList.contains('mih-dark-active')) {n document.body.classList.remove('mih-dark-active');n document.documentElement.removeAttribute('data-mih-dark');n } else {n document.body.classList.add('mih-dark-active');n document.documentElement.setAttribute('data-mih-dark', 'true');n }n};nndocument.addEventListener('keydown', e => {n if (e.ctrlKey && e.shiftKey && e.key === 'D') toggleDark();n});nnif (!document.getElementById('mih-dark-style')) {n const style = document.createElement('style');n style.id = 'mih-dark-style';n style.textContent = `n [data-mih-dark="true"] { filter: invert(90%) hue-rotate(180deg); }n [data-mih-dark="true"] img, [data-mih-dark="true"] video { filter: invert(100%) hue-rotate(180deg); }n [data-mih-dark="true"] input, [data-mih-dark="true"] textarea { background:#333 !important; color:#eee !important; }n `;n document.head.appendChild(style);n}
保存后刷新网页,按 Ctrl+Shift+D 即可切换——注意不要松开 Ctrl 键过早,否则会触发浏览器快捷键而非脚本绑定。
修复常见兼容性问题
第一步:禁用网站自带暗黑逻辑干扰
在用户脚本末尾 document.head.appendChild(style); 后插入:
const metaDark = document.querySelector('meta[name="color-scheme"], meta[name="theme-color"]'); if (metaDark) metaDark.remove();
第二步:绕过米侠对 prefers-color-scheme 的忽略
米侠浏览器不响应 @media (prefers-color-scheme: dark),因此不能依赖 CSS 媒体查询自动匹配系统设置,必须强制接管。所有样式规则必须写在内联 <style> 或 JS 动态注入,不可放在外部 CSS 文件中。
第三步:处理 SVG 图标失真
在 style.textContent 中追加一行:[data-mih-dark="true"] svg { filter: invert(100%) brightness(1.2); },否则多数 SVG 会变成全黑块。
相关文章
- 无限暖暖饮料店店员任务如何完成 07-03
- 鸣潮摩托进阶操作如何进行 07-03
- 王者荣耀世界开服福利包含哪些 07-03
- 明末渊虚之羽玄阳子如何打 07-03
- 寻道大千诸仙证道活动如何玩 07-03
- 6月1日光遇季节蜡烛位置分享 07-03