上下文菜单图标未显示在Google Chrome中

时间:2012-03-21 12:03:32

标签: google-chrome-extension contextmenu

我正在进行测试扩展但该项目未出现在上下文菜单中。这有什么不对?

我的清单文件

{
 "name": "Colour",
 "version": "1.0.1",
 "description": "Colour the background on right clicking image.",
 "offline_enabled": true,
 "permissions" : [
 "contextMenus",
   "tabs",
   "http://*/*",
   "https://*/*"
 ],
 "background_page":"background.html"
}

我的background.html包含此脚本

function getColour(info, tab){
  document.body.style.background="#456";
}

chrome.contextMenus.create({
  "type":"normal",
  "title":"Colour page",
  "contexts":["image"],
  "onclick":getColour()
});

1 个答案:

答案 0 :(得分:3)

必须传递对getColour函数的引用。它应该 be invoked

function getColour(info, tab){
    document.body.style.background="#456";
}

chrome.contextMenus.create({
    "type": "normal",
    "title": "Colour page",
    "contexts": ["image"],
    "onclick": getColour // <--- Removed ()
});

以前,您的代码将以这种方式运行:

  1. getColour() - 致电getColour
  2. 函数中没有return语句,因此返回undefined
  3. chrome.contextMenu.create({ ... "onclick": undefined }); - 无事件处理程序