Screensaver Blocker

https://www.google.com/ を開いている間、スクリーンセーバーを抑止する

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Screensaver Blocker
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description https://www.google.com/ を開いている間、スクリーンセーバーを抑止する
// @author       anonymous
// @match        https://www.google.com/
// @icon         https://www.google.com/s2/favicons?domain=google.com
// @license        public domain
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let wl;
    const init = async () => {
        if (wl && !wl.released) {
            return true;
        }
        wl = null;
        if (document.visibilityState !== 'visible') {
            return;
        }
        console.log('WakeLock request');
        try {
            wl = await navigator.wakeLock.request('screen');
            console.log(wl);
            wl.addEventListener('release',e => {
                console.log('WakeLock released ');
                start();
            });
        } catch (e) {
            console.warn('e', e);
            return false;
        }
        console.log(' WakeLock locked');
        return true;
    };

    const start = async () => {
        if (!await init()) {
            setTimeout(start, 1000);
        }
    };

    start();
})();