小编Mat*_*amm的帖子

如何在无限滚动页面上重复运行 Chrome 扩展程序代码

这是我的第一个 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

3
推荐指数
1
解决办法
635
查看次数