我正在尝试编写chrome扩展程序,以通过使用chrome网上商店或其他方式来监听其他扩展程序的安装/卸载/启用/禁用事件。

我打算为此使用chrome.management模块。

  1. 我已经在manifest.json文件中声明了权限。

     "permissions": [ "management" ], 
  2. 我有一个background.html页面

     "background": { "page": "background.html" }, 
  3. 我已经将background.js作为background.html页面的一部分

     <html> <script type="text/javascript" src="js/background.js"></script> <body> </body> </html> 
  4. 这是我的background.js

     chrome.management.onInstalled.addListener(function(ExtensionInfo info) { console.log('somethingz installed...'); printInfo(info); }); chrome.management.onEnabled.addListener(function(ExtensionInfo info) { console.log('somethingz enabled...'); printInfo(info); }); chrome.management.onDisabled.addListener(function(ExtensionInfo info) { console.log('somethingz disabled...'); printInfo(info); }); function printInfo(info) { console.log("id: " ++ info.id); console.log("name: " ++ info.name); console.log("description: " ++ info.description); console.log("version: " ++ info.version); console.log("mayDisable: " ++ info.mayDisable); console.log("enabled: " ++ info.enabled); console.log("disabledReason: " ++ info.disabledReason); console.log("type: " ++ info.type); console.log("appLaunchURL: " ++ info.appLaunchURL); console.log("homepageUrl: " ++ info.homepageUrl ); console.log("updateUrl: " ++ info.updateUrl ); console.log("offlineEnabled: " ++ info.offlineEnabled); console.log("optionsUrl: " ++ info.optionsUrl); console.log("icons: " ++ info.icons); console.log("permissions: " ++ info.permissions); console.log("hostPermissions: " ++ info.hostPermissions); console.log("installType: " ++ info.installType); } 

我正在尝试通过查看chrome:// extensions页面来调试background.html页面,并且看到-

    Uncaught SyntaxError: Unexpected identifier

并且由于此错误,事件未按预期触发。

请帮忙!! 不知道是什么原因导致“未捕获的SyntaxError:意外的标识符”错误...可能是太基本的东西,但是,我在相当长的一段时间里无法捕捉到它!

===============>>#1 票数:3 已采纳

您的代码有2个主要问题。 首先,在侦听器中包括参数的类型,在本例中为ExtensionInfo ,将其删除。 其次,使用2 +将其更改为1。结果代码如下所示:

chrome.management.onInstalled.addListener(function(info) {
  console.log('somethingz installed...');
  printInfo(info);
});

和这个

function printInfo(info){
  console.log("id: " + info.id);

附带说明一下,您可以执行以下操作,而不是手动记录信息的每个部分:

console.log(JSON.stringify(info).replace(',','\n'));

  ask by Satya translate from so

未解决问题?本站智能推荐: