Google Chrome 扩展程序的内容脚本不起作用

时间:2021-01-20 23:51:59

标签: javascript google-chrome-extension

我正在编写一个 Chrome 扩展程序,需要更改/添加匹配字词的链接。它从我选择的特定页面上存储在 contentscript 中的内容中获取单词。

我的扩展程序不起作用,我不明白出了什么问题。我的编码不好。很想看到它起作用。

ma​​nifest.json 中最重要的:

{
   "content_scripts": [ {
      "all_frames": true,
      "js": [ "jquery.min.js", "contentscript.js" ],
      "matches": [ "*://portal.example.no/*", "*://*.portal.example.no/*" ],
      "run_at": "document_end"
   } ],
   "permissions": [ "*://portal.example.no/*", "*://*.portal.example.no/*", "activeTab", "storage" ],
}

整个contentscript.js:

const data = [
    //place
    {
        word: "Rom: A1-030",
        url: "https://tv.example.com/64318737"
    },
    {
        word: "Rom: B2-010",
        url: "https://tv.example.com/64318841"
    },
];


    $.get(data).appendTo($('body'));  })
     startWorkLoop();


function getUrl(rom) {
    let found = data.filter(d => {
        return d.word === rom;
    });
    if (found.length)
        return found[0].url;
    else
        return false;
}


function startWorkLoop(){
    setInterval(function(){
        work();
    }, 1500);
}

async function work() {
    let all = document.body.querySelectorAll("span");
    if(){
        $('#ext-unpaid-popup').show();
    }else {
        $('#ext-unpaid-popup').hide();
    }
    for (let i = 0; i < all.length; i++) {
        let el = all[i];
        if (el.innerHTML) {
            let content = el.innerHTML;

            let match = `${content}`.match(/Rom: [A-Z][0-9]-[0-9]+/gmi);
            if (match && !el.classList.contains("rom-ext-done")) {
                el.classList.add("rom-ext-done");
                let m = match[0];
                    let url = getUrl(m);
                    if (url) {
                        content = content.replace(m, `<a style="background: green;color: #fff; padding: 2px 3px" href="${ ? url : '#'}">${m}</a>`);
                    } else {
                        content = content.replace(m, `<a style="background: red;color: #fff; padding: 2px 3px">${m} No streaming</a>`);
                    }
                el.innerHTML = content;
            }

        }
    }
}

0 个答案:

没有答案
相关问题