我想替換頁面上的所有文字,例如:所有的「你好」,以「喜」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
函數在做什麼,而且你很好。