код javascript для предотвращения запуска заставки - PullRequest
12 голосов
/ 22 декабря 2010

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

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

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

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

Ответы [ 5 ]

9 голосов
/ 22 декабря 2010

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

Ссылка на JavaScript Security

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

3 голосов
/ 22 декабря 2010

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

1 голос
/ 22 марта 2019

Да, теперь это возможно:)

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

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

0 голосов
/ 26 марта 2019

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

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) рассматривают его по-разному.

0 голосов
/ 22 декабря 2010

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

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

...