chrome.alarms返回undefined

时间:2013-01-09 00:02:05

标签: google-chrome-extension

早上好,巫师。

我正在尝试编写chrome-browser的扩展程序。 铬的版本是18.0.1025.151 (development build 130497 Linux) Built on Ubuntu 12.04, running on Ubuntu 12.10

我的操作系统是ubuntu GNU / Linux 12.04.1(LTS),64位。

问题是:我无法使用chrome.alarms。访问此变量时,我得到'undefined'。

manifest.json的一部分:

  "background": {
      "scripts": ["background.js"]
    },
  "permissions": [
    "alarms",
    "tabs",
    "http://*/*"
  ],

background.js的一部分:

chrome.alarms.onAlarm.addListener(function(alarm) {
    if (! alarm.name.match ('/^extension47_.*/'))
        return;
    alert ('extension47 fired an alarm!');
});

我得到了什么:

Uncaught TypeError: Cannot read property 'onAlarm' of undefined

chrome.alarms.onAlarm.addListener行。

当我从扩展程序页面转到chrome控制台时,自动完成功能表明我没有chrome.alarms。显然,当我输入chrome.alarms时,我真的得到undefined。为什么呢?..

我完全陷入困境,未能在互联网上的任何地方找到解决方案,我做错了什么?

3 个答案:

答案 0 :(得分:9)

我最近遇到了一些麻烦,并没有在文档中(或任何相关位置)看到任何注意事项。

请务必同时询问alarms权限:

manifest.json

{
    "manifest_version": 2,
    "permissions": [
        // ...  
        "alarms"
    ]
}

答案 1 :(得分:1)

您至少需要Google Chrome 22。

Availability:   Google Chrome 22

http://developer.chrome.com/trunk/extensions/alarms.html

答案 2 :(得分:1)

您需要从第三方维护的回购安装Chromium:

sudo add-apt-repository ppa:a-v-shkop/chromium
sudo add-apt-get update
sudo apt-get install chromium-browser

这将为您提供版本23.0.1271.64 Ubuntu 12.04(165188)。