├── manifest.json └── background.js /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "brooklyn JS", 3 | "version": "0.0.1", 4 | "manifest_version": 2, 5 | 6 | "permissions": [ 7 | "alarms", 8 | "http://brooklynjs.com/" 9 | ], 10 | 11 | "browser_action": {}, 12 | "background": { 13 | "scripts": ["background.js"] 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /background.js: -------------------------------------------------------------------------------- 1 | chrome.alarms.onAlarm.addListener(function () { 2 | var request = new XMLHttpRequest(); 3 | request.onload = function () { 4 | var match = request.responseText.match(/new Date\((\d+),(\d+),(\d+)\)/); 5 | var date = new Date(match[1], match[2], match[3], 19); 6 | var diff = date - Date.now(); 7 | var days = Math.floor(diff / (24 * 60 * 60 * 1000)); 8 | chrome.browserAction.setBadgeText({ text: days.toString() }); 9 | chrome.browserAction.setBadgeBackgroundColor({ color: days ? '#00ff00' : '#ff0000' }); 10 | }; 11 | request.open('get', 'http://brooklynjs.com/'); 12 | request.send(); 13 | }); 14 | 15 | chrome.alarms.create('request', { when: Date.now(), periodInMinutes: 60 }); 16 | --------------------------------------------------------------------------------