【发布时间】: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或其他内容(在后台页面,摆弄控制台)。这只是一个猜测,绝不是一个有保证的解决方案。 -
重启浏览器似乎可以解决问题;也许有一些内存分配问题没有得到妥善处理