我正在进行测试扩展但该项目未出现在上下文菜单中。这有什么不对?
我的清单文件
{
"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()
});
答案 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 ()
});
以前,您的代码将以这种方式运行:
getColour()
- 致电getColour
。return
语句,因此返回undefined
。chrome.contextMenu.create({ ... "onclick": undefined });
- 无事件处理程序!