我正在制作一个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无效。