1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| let badgeText = 'OFF'; const web_address = 'http://www.example.com'
chrome.runtime.onInstall.addListener(() => { badgeText = 'OFF'; chrome.action.setBadgeText({ text: badgeText, }); });
chrome.runtime.onStartup.addListener(() => { badgeText = 'OFF'; chrome.action.setBadgeText({ text: badgeText, }); });
chrome.action.onClicked.addListener(async(tab) => { if (tab.url.startsWith(web_address)) { badgeText = badgeText === 'ON' ? 'OFF' : 'ON';
await chrome.action.setBadgeText({ tabId: tab.id, text: badgeText, });
if (badgeText === 'ON') { chrome.tabs.sendMessage(tab.id, { action: 'setBadgeTextOn' }); }
if (badgeText === 'OFF') { chrome.tabs.sendMessage(tab.id, { action: 'setBadgeTextOff' }); } } });
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { if (message.action) { case 'getBadgeText': if (badgeText === 'ON') { sendResponse('setBadgeTextOn'); } if (badgeText === 'OFF') { sendResponse('setBadgeTextOff'); } break; default: break; } })
|