【问题标题】:Chrome extension replace textChrome 扩展替换文本
【发布时间】:2011-07-27 13:51:25
【问题描述】:

我想把页面上的所有文字都替换掉,例如:所有的“Hello”到“Hi”

我正在使用

body.innerHTML = body.innerHTML.replace("Hello", "Hi");

我遇到了两个问题:

  1. 可能有名为Hello 的类或ID(例如<div id="Hello"></div>,那么它会弄乱这段代码)
  2. 由于某种原因,当我尝试替换正文时 Gmail 中断

【问题讨论】:

    标签: javascript google-chrome-extension


    【解决方案1】:

    因为这是 Chrome 特有的,而且您不必担心旧版浏览器( IE),这听起来像是 treeWalker 的工作。有一个很好的例子来说明如何使用它here

    【讨论】:

      【解决方案2】:

      这样做innerHTML 将丢弃所有与页面上的元素挂钩的事件处理程序,因为您在那里所做的是破坏以前的元素并替换新元素。 p>

      要做你想做的事,你必须遍历 dom 并更新文本节点的值(仅)。在this other answer here on Stack Overflow 中有一个示例,包含完整代码和live copy。您只需更改 handleText 函数正在执行的操作,就可以开始了。

      【讨论】:

        猜你喜欢
        • 2022-01-21
        • 2012-04-24
        • 1970-01-01
        • 2011-08-13
        • 2014-12-07
        • 2019-01-02
        • 2016-04-17
        • 2021-03-21
        • 2020-09-04
        相关资源
        最近更新 更多