Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Можно ли остановить выполнение скрипта по времени (https://javascript.ru/forum/misc/85408-mozhno-li-ostanovit-vypolnenie-skripta-po-vremeni.html)

Profuter 07.08.2023 21:20

Можно ли остановить выполнение скрипта по времени
 
Есть скрипт, который в телеграмм раз в 10 минут постит информацию с Html странички (дополнение к хрому). Пользователи забывают его отключать когда уходят.
Подскажите можно ли как-то отследить, что мышь не двигали и не нажимали клавиши более 30 минут (к примеру), проще говоря, как-то средствами JS-script, html или хрома определить время простоя компьютера, чтобы автоматически остановить выполнение скрипта (скрипт работает в фоновой вкладке)

Что-то похожее на стандартное поведением винды - отключать монитор через 30 минут, только для скрипта.

Благодарю за уделенное время.

рони 07.08.2023 21:53

Profuter,
let workerFlag, timer, pause = 30 * 60 * 1000;

        function worker() {
            if (workerFlag) return;
            //code...
        }

        function dream() {
            window.clearTimeout(timer);
            workerFlag = false;
            timer = window.setTimeout(() => workerFlag = true, pause)
        }
        document.addEventListener("mousemove", dream);
        document.addEventListener("keydown", dream);

Profuter 08.08.2023 19:33

Скрипт работает в фоновой вкладке - event listener не срабатывает, если я не вожу над документом или набираю текст в другой вкладке или окне.

Пользователь запускает в браузере скрипт, а потом идет в дискорд (приложение) и там переписывается. Браузер свернут в панель задач и неактивен - возможно решение методами JS script?

Aetae 11.08.2023 22:06

Нет. Ты хозяин только своей вкладки. Что там пользователь делает где-то ещё ты знать не должен в принципе.

Так что разве что заставить юзера установить твое расширение.

Profuter 12.08.2023 16:08

Благодарю за ответы.


Часовой пояс GMT +3, время: 10:56.