米侠浏览器外文网站无法翻译主因是网页主动屏蔽:含translate="no"或notranslatemeta标签时翻译ui被跳过,strict csp策略则拦截fetch请求;可借tampermonkey清除屏蔽指令或改用dom替换式翻译,亦可启用浏览器级“始终翻译此语言”开关。

米侠浏览器部分外文网站始终无法翻译,常见于使用了 strict CSP 策略、禁用了 document.write 或主动屏蔽 translate 属性的站点,比如 GitHub 文档页、MDN Web Docs、某些学术期刊平台——这些页面不是翻译按钮没出现,而是脚本注入后被浏览器内核或网页自身逻辑直接拦截或静默丢弃。
确认是否被网页主动屏蔽翻译
打开目标外文网站 → 右键空白处 → 选择“查看网页源代码” → 在弹出窗口中按 Ctrl+F 搜索 translate="no" 或 http-equiv="Content-Security-Policy"。
若找到 或 <meta name="google" content="notranslate">,说明该站强制禁止所有浏览器翻译功能,米侠会直接跳过加载翻译 UI;若 CSP 头含 script-src 'self' 且未放行 translate.googleapis.com,则用户脚本中的 fetch 请求会被内核拦截,控制台报错“Refused to connect”,此时点击按钮毫无反应。
绕过网页级翻译屏蔽(需 Tampermonkey)
方法一:强制重写页面 meta 标签
在 Tampermonkey 中编辑你已安装的翻译脚本 → 找到 document.body.appendChild(btn); 前一行 → 插入以下代码:
const meta = document.querySelector('meta[name="google"][content="notranslate"]'); if (meta) meta.remove(); const html = document.documentElement; if (html.hasAttribute('translate')) html.removeAttribute('translate');
这一步能清除主流屏蔽指令,但对 CSP 策略无效;若页面仍无响应,请继续执行方法二。
方法二:改用 DOM 替换式翻译(不依赖 alert 或弹窗)
替换原脚本中整个 btn.onclick = () => { ... } 块为:
btn.onclick = async () => { const sel = window.getSelection(); let text = sel.toString().trim(); if (!text) text = Array.from(document.querySelectorAll('p, h1, h2, h3, li')).map(el => el.innerText).join(' ').substring(0, 3000); if (!text) return; try { const res = await fetch(`https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=zh&dt=t&q=${encodeURIComponent(text)}`); const data = await res.json(); const trans = data[0]?.[0]?.[0] || '译文获取失败'; const box = document.createElement('div'); box.innerHTML = `<div style="position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:9999;background:#202124;color:#fff;padding:12px 20px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.3);font-size:14px;max-width:80vw;word-break:break-word;">${trans}</div>`; document.body.appendChild(box); setTimeout(() => box.remove(), 5000); } catch (e) { alert('网络错误:请确认能访问 translate.googleapis.com'); } };
该方案不触发 CSP 对弹窗的限制,也不依赖 document.write,而是用原生 DOM 插入浮动提示框,适配 GitHub、GitLab、arXiv 等高安全策略站点。
启用浏览器级翻译覆盖开关
第一步:在米侠地址栏输入 chrome://settings/languages 回车 → 找到“提供网页翻译”开关 → 确保为开启状态。
第二步:向下滚动至“语言”列表 → 点击右侧“更多”图标(三个点)→ 选择“添加语言” → 添加英文(United States)并勾选“提供翻译”。
第三步:返回语言列表 → 找到“中文(简体)”条目 → 点击右侧三点菜单 → 选择“始终翻译此语言”。
第四步:关闭当前设置页 → 重新打开一个外文网页(如 en.wikipedia.org)→ 长按页面任意位置 → 弹出菜单中应出现“翻译成中文”选项。若仍未出现,【说明该网页已通过 HTTP 响应头 X-Frame-Options 或 Content-Security-Policy: sandbox 强制禁用所有浏览器级翻译入口,此时只能依赖 Tampermonkey 脚本】。











