Javascript код для предотвращения запуска заставки

Я совершенно новичок в программировании на JavaScript, и у меня есть вопрос, который мне нигде не удалось найти.

Недавно я составил простое слайд-шоу для удаленного просмотра фотографий, которые я размещаю на своем домашнем компьютере. Это само по себе работает нормально. Проблема, с которой я сталкиваюсь, заключается в том, что при просмотре фотографий я не взаимодействую с оборудованием, что через некоторое время приводит к отключению монитора. Это особенно раздражает при просмотре фотографий на моем мобильном телефоне.

Мой вопрос: есть ли способ предотвратить это? Я думаю о том, чтобы имитировать мышь или другое событие каждый раз, когда обновляю фотографию, но я понятия не имею, как это сделать и возможно ли это.

Любая помощь очень ценится!

3 ответа

Решение

Нет. JavaScript в браузере не может взаимодействовать с базовой системой. Имитация нажатий клавиш в браузере не помешает включению заставки. Это по соображениям безопасности, чтобы вредоносный код не мог нанести вред системе при посещении веб-страницы.

Ссылка на безопасность JavaScript

Современная модель безопасности JavaScript основана на Java. Теоретически загруженные скрипты по умолчанию выполняются в ограниченной среде "песочницы", которая изолирует их от остальной части операционной системы. Скриптам разрешен доступ только к данным в текущем документе или тесно связанных документах (как правило, с того же сайта, что и текущий документ). Нет доступа к локальной файловой системе, памяти других запущенных программ или сетевому уровню операционной системы. Контейнер такого типа предназначен для предотвращения хаоса в среде пользователя, вызванного сбоями или злонамеренными сценариями. Реальность ситуации, однако, заключается в том, что часто сценарии содержатся не так аккуратно, как можно было бы надеяться. Существует множество способов, с помощью которых сценарий может использовать не только то, что вы ожидаете, но и дизайн, и случайно.

За десятилетие, прошедшее с тех пор, как этот вопрос был первоначально задан, JavaScript расширился, чтобы обеспечить большую часть функциональности ОС (обычно безопасным способом). Функциональность "wake lock" постепенно внедряется. В настоящее время существует проект для navigator.getWakeLock интерфейс: https://www.w3.org/TR/wake-lock/

Chrome ( https://developers.google.com/web/updates/2018/12/wakelock) и Mozilla ( https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/Wake_Lock_API) являются рассматривая это по-разному.

Нет, JavaScript не может влиять на оборудование или операционную систему. Просто отключите настройки энергосбережения монитора, пока не закончите слайд-шоу.

Да, это возможно сейчас:)

Просто используйте библиотеку NoSleep.js: https://github.com/richtr/NoSleep.js

Он работает со мной со слайдами Reveal.js на моем планшете Android

Вы можете сделать это с помощью консольного приложения, написанного на C#, который взаимодействует с ОС

Так как js является языком браузера на стороне клиента, он может взаимодействовать только с браузером /bowser

Другие вопросы по тегам