2013-07-18 16 views
5

manifest.jsonをGoogle Chrome拡張

{ 
    "manifest_version": 2, 
    "name": "App name", 
    "description": "Description goes here", 
    "version": "1.0",  
    "background": { 
     "scripts": ["background.js"] 
    }, 
    "permissions": [ 
     "tabs", 
     "alarms" 
    ], 
    "browser_action": { 
     "default_icon": "icon.png", 
     "default_popup": "popup.html" 
    } 
} 
このような

私はポップアップを作るために関数を作成しようとしている "偉大な" 分ごとchrome.alarmsを使用する方法:

chrome.alarms.onAlarm.addListener(function(){ 
     alert('great'); 
    }); 

誰かがなぜその警告を引き起こさないのか教えてください。私はコンソールをチェックし、エラーは表示されませんでした。ありがとう。

答えて

3

アラームを作成していないため、onAlarmイベントは発生しません。

chrome.alarms.createでアラームを作成します。注:chrome.runtime.onInstalledイベントで行う必要があります。

+1

方向欄に記載されているサンプルもご覧ください。 – sowbug

+1

イベントページでのドキュメントの引用: 'リスナー自体はイベントページのコンテキスト内にのみ存在するため、イベントページが読み込まれるたびにaddListenerを使用する必要があります。それだけでは実行できません。それだけでは不十分です。 ' –

+0

'onAlarm'リスナーでどのアラームが起動されたかを確認するにはどうすればいいですか? – theonlygusti

13

ここで私が考えることができる最も単純な作業例です。アラームが鳴っているときに非常に迷惑で、12秒ごとに "ビープ音"を鳴らすよう警告します。ポップアップブラウザアクションを使用してアラームをオンまたはオフに切り替えます。

manifest.jsonを

{ 
    "manifest_version": 2, 

    "name": "Alarm test", 
    "description": "This extension alarms.", 
    "version": "1.0", 

    "permissions": [ 
    "alarms" 
    ], 

    "background": { 
    "scripts": ["eventPage.js"], 
    "persistent": false 
    }, 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    } 
} 

popup.html

<!doctype html> 
<html> 
<head> 
<title>Alarms Popup</title> 

<script src="popup.js"></script> 
</head> 
<body> 
<a href="" id="alarmOn">ON</a> 
<a href="" id="alarmOff">OFF</a> 
</ul> 
</body> 
</html> 

popup.js eventPage.js

chrome.alarms.onAlarm.addListener(function(alarm) { 
    alert("Beep"); 
}); 

var alarmClock = { 

     onHandler : function(e) { 
      chrome.alarms.create("myAlarm", {delayInMinutes: 0.1, periodInMinutes: 0.2}); 
        window.close(); 
     }, 

     offHandler : function(e) { 
      chrome.alarms.clear("myAlarm"); 
        window.close(); 
     }, 

     setup: function() { 
      var a = document.getElementById('alarmOn'); 
      a.addEventListener('click', alarmClock.onHandler); 
      var a = document.getElementById('alarmOff'); 
      a.addEventListener('click', alarmClock.offHandler); 
     } 
}; 

document.addEventListener('DOMContentLoaded', function() { 
    alarmClock.setup(); 
}); 

、重要なビット3210

+0

'onAlarm 'リスナーでどのアラームが起動されたかを確認する方法はありますか? – theonlygusti

+0

アラームの名前プロパティを確認する - https://developer.chrome.com/apps/alarms#type-Alarm –

関連する問題