Как определяется область browser.idle.setDetectionInterval? - PullRequest
0 голосов
/ 25 декабря 2018

idle.setDetectionInterval() задает интервал, используемый для определения того, находится ли система в состоянии ожидания для событий idle.onStateChanged, но относится ли это к расширению браузера, которое его устанавливает, или это изменяет обнаружениеинтервал для всех расширений браузера?

Если это имеет значение, я забочусь о Firefox в частности.

1 Ответ

0 голосов
/ 14 апреля 2019

Обнаружение простоя ограничено для каждого расширения.

Для тестирования я создал два расширения.Обнаружение простоя одного внутреннего абонента было установлено на 15 секунд, а другого на 45 секунд.В журналах мы видим запуск бездействия второго добавочного номера через 30 секунд после первого добавочного номера.

Журналы:

Thu Apr 11 2019 09:52:15 GMT+0200: 15 test: initialized
Thu Apr 11 2019 09:52:27 GMT+0200: 45 test: initialized

Thu Apr 11 2019 09:52:41 GMT+0200: 15 test: idle
Thu Apr 11 2019 09:53:11 GMT+0200: 45 test: idle

Thu Apr 11 2019 09:54:00 GMT+0200: 15 test: active
Thu Apr 11 2019 09:54:00 GMT+0200: 45 test: active

Первое расширение:

manifest.json:

{
    "manifest_version": 2,
    "name": "Test WebExtension 1",
    "author": "Jeremiah Lee",
    "developer": {
        "name": "Jeremiah Lee",
        "url": "https://www.jeremiahlee.com/"
    },
    "version": "1.0.0",
    "description": "Better documentation is needed",
    "homepage_url": "/12525189/kak-opredelyaetsya-oblast-browser-idle-setdetectioninterval",
    "permissions": [
        "idle"
    ],
    "background":  {
        "scripts": ["background.js"]
    }
}

background.js:

console.log(`${new Date()}: 15 test: initialized`);

browser.idle.setDetectionInterval(15);

browser.idle.onStateChanged.addListener((state) => {
    console.log(`${new Date()}: 15 test: ${state}`);
});

Второе расширение:

manifest.json:

{
    "manifest_version": 2,
    "name": "Test WebExtension 2",
    "author": "Jeremiah Lee",
    "developer": {
        "name": "Jeremiah Lee",
        "url": "https://www.jeremiahlee.com/"
    },
    "version": "2.0.0",
    "description": "Better documentation is needed",
    "homepage_url": "/12525189/kak-opredelyaetsya-oblast-browser-idle-setdetectioninterval",
    "permissions": [
        "idle"
    ],
    "background":  {
        "scripts": ["background.js"]
    }
}

background.js:

console.log(`${new Date()}: 45 test: initialized`);

browser.idle.setDetectionInterval(45);

browser.idle.onStateChanged.addListener((state) => {
    console.log(`${new Date()}: 45 test: ${state}`);
});
...