我想替换页面上的所有文字,例如:所有的“你好”,以“喜”Chrome扩展替换文本
我目前使用
body.innerHTML = body.innerHTML.replace("Hello", "Hi");
我已经已运行到两个问题:
- 有可能被命名为
Hello
类或ID(如<div id="Hello"></div>
的话,那就乱了这个代码) - 出于某种原因,当我尝试更换阀体
我想替换页面上的所有文字,例如:所有的“你好”,以“喜”Chrome扩展替换文本
我目前使用
body.innerHTML = body.innerHTML.replace("Hello", "Hi");
我已经已运行到两个问题:
Hello
类或ID(如<div id="Hello"></div>
的话,那就乱了这个代码)因为这是针对Chrome的,您不必担心传统浏览器(咳嗽 IE),这听起来像是一个treeWalker的工作。有一个体面的例子如何使用它here。
做这件事innerHTML
将垃圾全部挂在页面上的元素的事件处理程序的Gmail打破了,因为你在做什么有破坏之前的元素和用新的替代。
要做你想做的事情,你必须步行dom并更新文本节点的值(仅)。有一个例子,完整的代码和live copy,在this other answer here on Stack Overflow。你只需要改变handleText
函数在做什么,而且你很好。