【问题标题】:Chrome plugin not initializing properlyChrome 插件未正确初始化
【发布时间】:2012-09-28 21:12:17
【问题描述】:

我正在尝试编写一个 chrome 插件,我使用以下清单定义了该插件:

{
  "name": "test",
  "version": "1.0",
  "background": { "scripts": ["background.js"] },
  "permissions": [
    "tabs", "http://*/*"
  ],
  "browser_action": {
    "name": "test",
    "icons": ["icon.png"]
  },
  "manifest_version": 2
}

我的background.js 文件如下所示:

chrome.app.runtime.onLaunched.addListener(function() { 
    console.log('details', chrome.app.getDetails());
});

加载时,我在控制台上看到此错误:

Uncaught TypeError: Cannot read property 'onLaunched' of undefined 

我不知道为什么我没有看到正确初始化的chrome.app.runtime

如何调试?

基因

更新:

当我运行以下代码时:

console.log("before connection");
chrome.extension.onConnect.addListener(function(port) {
    console.log("connected");
});

我看到了第一个日志输出 (before connection),但没有看到第二个;这是否意味着它无法连接到浏览器?

【问题讨论】:

  • Google Chrome 'onLaunched' error in plugin 的可能重复项(尚无答案,但同样的问题 + 相同的环境)。
  • 当我将清单修改为版本 1 时,我也遇到了同样的症状。
  • 我不认为这是一个明显的问题,但我现在没有时间解决它。调试提示:将"experimental" 标志添加到权限,并查看chrome.experimental.app 或其他内容(在后台页面,摆弄控制台)。这只是一个猜测,绝不是一个有保证的解决方案。
  • 重启浏览器似乎可以解决问题;也许有一些内存分配问题没有得到妥善处理

标签: google-chrome-extension


【解决方案1】:

chrome.app 未定义,因为您没有将扩展程序定义为应用程序。

Chrome 扩展程序只能是清单文件中的 一个browser_actionpage_actionthemeapp

在您的清单中,您定义了一个浏览器操作。

深呼吸,阅读manifest file 的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2012-06-17
    • 2022-01-22
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多