使用JavaScript替换HTML中的文本

And*_*rew 6 javascript replace

我试图编写一个不使用jQuery的JavaScript程序来替换网页上所有可见的目标文本,而又不弄乱页面的功能。

具体来说,我正在尝试制作一个Chrome扩展程序,该扩展程序可以在Facebook等网站上以被动方式进行。

我在以下方面取得了有限的成功:

checkLoad();
function checkLoad(){
    if (document.readyState === "complete") {
        document.body.innerHTML = document.body.innerHTML.replace("target string", "replacement string");
    } else {
        setTimeout('checkLoad();', 500)
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码缺少诸如人的名字,头衔等之类的东西。

我环顾四周,似乎找不到有效的解决方案。有任何想法吗?

小智 5

简单的正则表达式即可解决:

document.body.innerHTML = document.body.innerHTML.replace(/target string/g, "replacement string");
Run Code Online (Sandbox Code Playgroud)

  • 这种方法的一个问题是它从 DOM 中解除了 javascript 事件处理程序的绑定。 (2认同)