您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
针对谷歌翻译,可以自定义指定标签、关键词不翻译
当前为
- // ==UserScript==
- // @name Make Chrome not Translate Code
- // @name:zh-CN 让谷歌浏览器不翻译代码和公式
- // @name:en Make Chrome not Translate Code
- // @description For Google Translate, you can customize and specify tags and keywords without translating
- // @author @amormaid
- // @run-at document-end
- // @namespace http://tampermonkey.net/
- // @version 1.6
- // @description:zh-cn 针对谷歌翻译,可以自定义指定标签、关键词不翻译
- // @description:en For Google Translate, you can customize and specify tags and keywords without translating
- // @match *://*/*
- // @license GPL
- // @grant none
- // ==/UserScript==
- (function () {
- 'use strict'
- console.log('not translate ready!');
- const root = document.getElementsByTagName('html')[0];
- root.classList.remove('notranslate');
- root.removeAttribute('translate');
- let action_id = undefined
- function setNotTranslate() {
- const list = [
- ...(document.getElementsByTagName("math") || []),
- ...(document.getElementsByTagName("svg") || []),
- ...(document.getElementsByTagName("tex-math") || []),
- ...(document.getElementsByClassName("MathJax"))
- ];
- Array.from(list).forEach(e => e.classList.add('notranslate'));
- Array.from(list).forEach(e => e.setAttribute('translate', 'no'));
- console.log('not translate complete')
- }
- action_id = setTimeout(setNotTranslate, 500);
- const observerOptions = {
- childList: true,
- subtree: true,
- };
- const observer = new MutationObserver((records, observer) => {
- for (const record of records) {
- // console.log('record is ', record.target.tagName )
- if (["math","svg","tex-math"].includes(record.target.tagName.toLowerCase()) || ["MathJax"].some(class_name => record.target.classList.contains(class_name))) {
- action_id && clearTimeout(action_id)
- action_id = setTimeout(setNotTranslate, 500);
- }
- }
- });
- observer.observe(document.body, observerOptions);
- })();