我正在使用以下脚本通过Chrome扩展程序添加具有两个子菜单的上下文菜单。
chrome.contextMenus.create({
id: "context1",
title: "Do it!",
contexts: ["all"]
});
chrome.contextMenus.create({
id: "context2",
title: "Do it too!",
contexts: ["all"]
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
if (tab) {
var code = 'doit();';
chrome.tabs.executeScript(tab.id, { code: code });
}
});
我想知道如何使用chrome.contextMenus.onClicked.addListener
使它们每个执行不同的脚本吗?
这是我的清单文件。
{
"manifest_version": 2,
"name": "My Extension",
"version": "0.1",
"content_scripts": [ {
"js": [ "jquery-3.3.1.min.js", "content.js"],
"css": ["bootstrap.min.css"],
"matches": [ "<Call_urls>" ]
} ],
"background": {
"persistent": false,
"scripts": ["ctx.js"] //<- The file for script above.
},
"permissions": [
"contextMenus",
"activeTab"
]
}
答案 0 :(得分:1)
多亏了wOxxOm,我知道了。
chrome.contextMenus.create({
id: "context1",
title: "First",
contexts: ["all"]
});
chrome.contextMenus.create({
id: "context2",
title: "Second",
contexts: ["all"]
});
chrome.contextMenus.onClicked.addListener(function(info, tab) {
if (tab) {
if (info.menuItemId === "context1"){
var code = 'alert("First Clicked");';
chrome.tabs.executeScript(tab.id, { code: code });
}
if (info.menuItemId === "context2"){
var code = 'alert("Second Clicked");';
chrome.tabs.executeScript(tab.id, { code: code });
}
}
});
通过使用以上脚本。您将获得每个选定项目的单独警报。示例:如果您选择了Second Clicked
选项,则会收到Second
警报。