How to use chrome.alarms for Google Chrome extension
dom-events, google-chrome-extension, javascript
Solution
Here is the simplest working example I can think of, warning it is very annoying as when the alarm is on it alerts "Beep" every 12 seconds. It uses a popup browser action to switch the alarm on and off.
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
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();
});
And the important bit in eventPage.js
chrome.alarms.onAlarm.addListener(function(alarm) {
alert("Beep");
});
Problem
manifest.json ``` { "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" } } ``` I trying to create a function to make a popup "great" every minute like this: ``` chrome.alarms.onAlarm.addListener(function(){ alert('great'); }); ``` Could someone please tell why is it not triggering that alert. I check the console, no error was displayed.