chrome.contextMenus.onClicked.addListener()无法触发

时间:2019-06-11 00:23:35

标签: google-chrome-extension

我正在制作一个chrome扩展程序,它可以更改我们学校报纸使用的内部CMS上建议的格式。我做了一个上下文菜单选项,单击该菜单将执行格式更改。但是,单击上下文菜单后,什么也不会发生。

1)我已经检查过makeVisible的代码是否可以在Chrome的javascript控制台上正常工作。

2)我确保从未调用过函数makeVisible,因为console.log(“ Test”)从未发生。

3)我尝试将插件切换到除了superdesk.thetriangle.org之外的其他网站,仍然无法正常工作。

4)尝试使background.js脚本具有持久性,并使用chrome.contextMenus.create()的onclick属性。同样,onclick永不触发。

manifest.json:

{
    "name": "Find Hidden Suggestions",
    "version": "1.0",
    "description": "Highlights hidden suggestions in Superdesk's editor.",
    "manifest_version": 2,
    "permissions": ["*://superdesk.thetriangle.org/*", "contextMenus"],
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    }
}

background.js:

function makeVisible(info, tab) {
    console.log("Test");
    var spansAdd = document.querySelectorAll("span[style='color: rgb(0, 180, 0);']");
    var spansDel = document.querySelectorAll("span[style='color: rgb(255, 0, 0); text-decoration: line-through;']");

    spansAdd.forEach((ele) => {
        ele.setAttribute("style", "color: green; border-bottom: 2px solid green;");
    });

    spansDel.forEach((ele) => {
        ele.setAttribute("style", "color: rgb(255, 0, 0); text-decoration: line-through; border-bottom: 2px solid red");
    });
}

chrome.contextMenus.create({
    id: "Suggestions command",
    title: "Make Suggestions Visible",
    contexts: ["all"],
});

chrome.contextMenus.onClicked.addListener(makeVisible);

在这一点上,我不知道为什么单击contextMenu无效。

0 个答案:

没有答案