我已经为上下文菜单开发了chrome扩展程序并且工作正常。在通过谷歌浏览器更改新API之后,我的扩展程序无效。我看到文档需要更改已弃用的API。但没有运气! 这是文件,
manifest.json
{
"manifest_version": 2,
"name": "ClickRight Plugin",
"version": "1.0",
"description": "Clickright utility for Chrome Browser",
"permissions":["contextMenus","tabs","https://www.gmail.com"],
"content_scripts" : [
{
"matches" : [
"http://*/*",
"https://*/*"
],
"js" : ["chromeplug.js"]
}
],
"background":
{
"page":"background.html"
}
}
background.html
包含两个脚本,clickright.js和chromeplug.js
chromeplug.js
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "getHtml") {
..
sendResponse({key:value});});
chrome.contextMenus.create({
"title": "Trace CAL Log",
"contexts": ["page", "selection"]
});
chrome.contextMenus.onClicked.addListener(function()
{
chrome.tabs.query({
active: true,
currentWindow: true},
function(tabs) {
chrome.tabs.sendMessage(tabs[0].id,{method:"getHtml"}, function(response) {
var id=response.key;
getChromeLogs(id,tabs[0].url);
});
});
clickright.js
getChromeLogs(LogId,URL){}
点击上下文菜单没有任何反应!猜猜我已经包含了所有必要的API。在文件中放置API可能是错误的。 在此先感谢!
答案 0 :(得分:0)
看起来chrome.contextMenus.create
应该进入background.js,而不是内容脚本。