这是我的第一个 Chrome 扩展程序。我正在构建一个扩展来替换页面上的文本。
提供的代码适用于加载 DOMContent 加载的任何内容。但是,在使用某种无限滚动的页面上,加载新内容时不会发生文本替换。
我需要它来对稍后添加到页面的任何内容运行文本替换。
我曾尝试使用 onscroll 事件侦听器,但这既笨拙又昂贵。我相信有更好的方法。
我已经研究过使用清单 run_at,但还没有找到使用它的方法。
let elements = document.getElementsByTagName('*');
let replacements = {
"first to replace": "new text",
"second to replace": "also new text"
};
let keys = Object.keys(replacements);
RegExp.quote = (str) => {
return str.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
};
let makeItAwesomer = () => {
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
for (var j = 0; j < element.childNodes.length; j++) {
let node = element.childNodes[j];
if …Run Code Online (Sandbox Code Playgroud) javascript google-chrome-extension dom-events infinite-scroll