Chrome扩展程序:为什么我在“后台页面”的控制台中出现此错误?

时间:2012-02-23 17:56:59

标签: javascript api console google-chrome-extension

我不明白,但似乎无法识别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 ....是'重得多吗? -.-°

1 个答案:

答案 0 :(得分:1)

除了已经说明的内容之外,如果您仍然发现chrome.contextMenus是'undefined',请记得卸载 - 重新安装您的扩展程序!可能会发生一些奇怪的缓存;你的开发过程中有些东西会更新(即你可以更改代码,然后看看重新启动你的扩展程序的变化),而其他东西需要完全重新安装 - HTH。