javascript代码,以防止屏幕保护程序启动

问题描述 投票:12回答:5

我是javascript编程的新手,我有一个问题,我无法在任何地方找到答案。

我最近整理了一个简单的幻灯片,以远程查看我在家用计算机上托管的照片。这本身就可以。我遇到的问题是,当我查看照片时,我不会与硬件交互,这会在一段时间后导致显示器关闭。在我的手机上观看照片时,这尤其令人讨厌。

我的问题是:有没有办法防止这种情况发生?每次刷新照片时,我都在考虑伪造鼠标或其他事件的方向,但我不知道如何做到这一点,如果有可能的话。

任何帮助是极大的赞赏!

javascript screensaver keep-alive
5个回答
9
投票

不可以。浏览器上的JavaScript无法与底层系统交互。在浏览器中模拟击键不会阻止屏幕保护程序打开。这是出于安全原因,因此恶意代码在您访问网页时不会损害系统。

Link on JavaScript Security

现代JavaScript安全模型基于Java。理论上,下载的脚本默认在受限制的“沙箱”环境中运行,该环境将它们与操作系统的其余部分隔离开来。允许脚本仅访问当前文档中的数据或密切相关的文档(通常是与当前文档位于同一站点的文档)。无法访问本地文件系统,其他正在运行的程序的内存空间或操作系统的网络层。这种遏制旨在防止故障或恶意脚本在用户环境中造成严重破坏。然而,情况的实际情况是,脚本通常不像人们希望的那样整齐地包含在内。有许多方法可以让脚本在设计和意外情况下超出您的预期。


3
投票

不,JavaScript不会影响硬件或操作系统。只需关闭显示器省电设置,直到完成幻灯片放映。


1
投票

是的,现在可能了:)

只需使用NoSleep.js库:https://github.com/richtr/NoSleep.js

它正在我的Android平板电脑上使用Reveal.js幻灯片


0
投票

你可以用一个用os编写的与os交互的控制台应用程序来完成它

由于js是客户端浏览器语言,因此它只能与浏览器/ bowser进行交互


0
投票

自从这个问题被问到最近十年以来,JavaScript已经发展成为提供大部分操作系统功能(通常以安全的方式)。 “唤醒锁定”功能正在慢慢实施。目前有一个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)正在以各种方式考虑它。

© www.soinside.com 2019 - 2024. All rights reserved.