Аварийные сигналы не сохраняются в сеансах браузера.
Приведенный ниже код при подписании и установке (временно загруженные расширения выгружаются при выходе из браузера), выдаст:
Extension running. Current alarms:
Array []
background.js:4:13
2019-03-16T17:15:10.841Z: Alarm should go off every minute. background.js:13:13
2019-03-16T17:16:10.912Z: test-alarm-1 background.js:16:17
2019-03-16T17:17:10.919Z: test-alarm-1 background.js:16:17
2019-03-16T17:18:10.922Z: test-alarm-1 background.js:16:17
// Restart Firefox, reopen debugging.
Extension running. Current alarms:
Array []
background.js:4:13
2019-03-16T17:18:40.689Z: Alarm should go off every minute. background.js:13:13
2019-03-16T17:19:40.796Z: test-alarm-1 background.js:16:17
Если аварийные сигналы сохраняются, массив будет иметь 1 элемент.
manifest.json:
{
"manifest_version": 2,
"name": "Test WebExtension",
"author": "Jeremiah Lee",
"developer": {
"name": "Jeremiah Lee",
"url": "https://www.jeremiahlee.com/"
},
"version": "0.1.0",
"description": "Better documentation is needed",
"homepage_url": "/9642206/sohranyaytsya-li-trevogi-pri-vyhode-iz-firefox",
"permissions": [
"<all_urls>",
"alarms",
"tabs"
],
"background": {
"page": "./lib/background.html"
}
}
background.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script type="module" src="./background.js"></script>
</head>
</html>
background.js:
(async function() {
const alarms = await browser.alarms.getAll();
console.log(`Extension running. Current alarms:`, alarms);
await browser.alarms.create(
"test-alarm-1",
{
periodInMinutes: 1
}
);
console.log(`${new Date().toISOString()}: Alarm should go off every minute.`);
function handleAlarm(alarmInfo) {
console.log(`${new Date().toISOString()}: ${alarmInfo.name}`);
}
browser.alarms.onAlarm.addListener(handleAlarm)
})();