2.2 Service Worker
Background Service Worker
リンク
Service Workerとは
バックグラウンドで動作するスクリプト。イベント駆動型で、必要なときだけ起動する。
DOMアクセス不可window、documentは存在しない。
ライフサイクル
chrome.runtime.onInstalled.addListener((details) => {
if (details.reason === 'install') {
console.log('インストールされました');
}
});
// 30秒のアイドルで停止
// 状態はchrome.storageで永続化
イベント処理
chrome.action.onClicked.addListener((tab) => {
console.log('アイコンクリック');
});
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
console.log('メッセージ:', msg);
sendResponse({ ok: true });
return true;
});
定期実行
chrome.alarms.create('myAlarm', { periodInMinutes: 30 });
chrome.alarms.onAlarm.addListener((alarm) => {
if (alarm.name === 'myAlarm') {
doSomething();
}
});
参考文献
[1] Chrome Extensions - Service workers
[1] Chrome Extensions - Service workers