我不明白,但似乎无法识别api的谷歌浏览器,也许。
清单:
{
"name": "First Extension",
"version": "1.0",
"description": "The first extensione tha I made",
"permissions":["contextMenus"],
"background_page": "background_page.html"
}
背景页面:
<!doctype html>
<html>
<head>
<title>Background Page</title>
<script src="script.js"></script>
</head>
<body>
</body>
</html>
Javascript(script.js):
if (window.webkitNotifications) {
console.log("Notifications are supported!");
}
else {
console.log("Notifications are not supported for this Browser/OS version yet.");
}
/////////// BROWSER CONTEXT MENU ////////////////
var arr_context = ["all", "page", "frame", "selection", "link", "editable", "image", "video", "audio"];
for(i=0; i<arr_context.length; i++){
var title = arr_context[i];
var menu1 = chrome.contextMenus.create({"type":"normal", "title":"Menu "+title, "contexts":arr_context, "onclick":callBack });
}
function callBack(info, tab){ console.log(info.menuItemId+"; URL: "+tab.url); }
功能“callBack(info,tab)”不写任何东西。在后台页面中出现错误,错误为:Uncaught TypeError: Cannot call method 'create' of undefined
。
所有文件都只是这些。
好的,我解决了,在互联网上读错了,因为我没有访问该页面 从扩展选项卡,但双击background_page.html ....是'重得多吗? -.-°
答案 0 :(得分:1)
除了已经说明的内容之外,如果您仍然发现chrome.contextMenus是'undefined',请记得卸载 - 重新安装您的扩展程序!可能会发生一些奇怪的缓存;你的开发过程中有些东西会更新(即你可以更改代码,然后看看重新启动你的扩展程序的变化),而其他东西需要完全重新安装 - HTH。