2013-01-09 291 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" 
    ] 
}