Google chrome extension Chrome扩展将替换字母,但会打断某些页面

Google chrome extension Chrome扩展将替换字母,但会打断某些页面,google-chrome-extension,Google Chrome Extension,我使用了下面的TreeWalker作为本文的模板,并对其进行了修改,以跳过“script”元素,以防止某些页面(如google搜索)被破坏而无效。有人知道我如何更改代码以防止破坏某些页面吗?谢谢 var replaceArry = [ [/b/gi, 'better'], [/Terms of service/gi, 'Términos y condiciones'], [/Privacy policy/gi, 'Priva

我使用了下面的TreeWalker作为本文的模板,并对其进行了修改,以跳过“script”元素,以防止某些页面(如google搜索)被破坏而无效。有人知道我如何更改代码以防止破坏某些页面吗?谢谢

var replaceArry = [
    [/b/gi,    'better'],
    [/Terms of service/gi,          'Términos y condiciones'],
    [/Privacy policy/gi,            'Privacidad'],
    // etc.
];
var numTerms    = replaceArry.length;
var txtWalker   = document.createTreeWalker (
    document.body,
    NodeFilter.SHOW_TEXT,
    {   acceptNode: function (node) {
            //-- Skip whitespace-only nodes
            if (node.nodeValue.trim() && node.parentNode.nodeName != 'SCRIPT')
                return NodeFilter.FILTER_ACCEPT;

            return NodeFilter.FILTER_SKIP;
        }
    },
    false
);
var txtNode     = null;

while (txtNode  = txtWalker.nextNode () ) {
    var oldTxt  = txtNode.nodeValue;

    for (var J  = 0;  J < numTerms;  J++) {
        oldTxt  = oldTxt.replace (replaceArry[J][0], replaceArry[J][1]);
    }
    txtNode.nodeValue = oldTxt;
}
var replaceArry=[
[/b/gi,“更好”],
[/服务条款/gi,'Términos y Condicines',
[/Privacy policy/gi,“Privacidad”],
//等等。
];
var numTerms=replaceArry.length;
var txtwarker=document.createTreeWalker(
文件正文,
NodeFilter.SHOW_TEXT,
{acceptNode:函数(节点){
//--仅跳过空白节点
if(node.nodeValue.trim()&&node.parentNode.nodeName!=“脚本”)
返回NodeFilter.FILTER\u接受;
返回NodeFilter.FILTER\u跳过;
}
},
假的
);
var txtNode=null;
while(txtNode=txtwarker.nextNode()){
var oldTxt=txtNode.nodeValue;
对于(var J=0;J
使用TreeWalker API:@wOxxOm hey感谢您的回复。不幸的是,我认为它不太管用。我使用了完全相同的代码,并对其进行了修改,只替换了一个字符,但它仍然破坏了谷歌搜索。我想你需要跳过一些元素,比如
script
@wOxxOm再次感谢。你能给我指一些文件来做吗?老实说,我对树行者不太熟悉。我很感激helpTreeWalker文档只是一个页面,您可以轻松地用谷歌搜索到它,但它似乎与问题无关,因此您可以通过简单地检查
节点.localName
跳过代码中的元素。