2013-01-09 242 views
3

早上好,奇才。chrome.alarms返回undefined

我正在努力为铬浏览器编写扩展。 铬的版本是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。当访问这个变量时,我得到'未定义'。

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.alarms。很明显,当我输入chrome.alarms时,我真的得到undefined。为什么这样呢?

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

回答

1

您将需要一个第三方安装铬维持回购:

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)。

+0

谢谢,我已经找到了。 +1作为有用的答案。 – gluk47

8

我最近也遇到过一些麻烦,没有看到文档中任何地方(或任何相关位置)的注释。

只要确保还索要alarms权限:

manifest.json的

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