15

我对 javascript 编程完全陌生,我有一个问题,我无法在任何地方找到答案。

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

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

任何帮助是极大的赞赏!

4

5 回答 5

10

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

JavaScript 安全性链接

现代 JavaScript 安全模型基于 Java。理论上,下载的脚本默认在受限的“沙盒”环境中运行,该环境将它们与操作系统的其余部分隔离开来。脚本只允许访问当前文档或密切相关文档(通常与当前文档来自同一站点的文档)中的数据。不允许访问本地文件系统、其他正在运行的程序的内存空间或操作系统的网络层。此类遏制旨在防止故障或恶意脚本在用户环境中造成严重破坏。然而,实际情况是,脚本通常没有像人们希望的那样整洁。

于 2010-12-21T21:49:57.633 回答
7

自从最初提出这个问题以来的十年里,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/Web/API/Screen_Wake_Lock_API ) 正在考虑以各种方式。

于 2019-03-25T21:22:37.733 回答
4

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

于 2010-12-21T21:50:29.520 回答
1

是的,现在可以了:)

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

它在我的 Android 平板电脑上使用 Reveal.js 幻灯片从我身上工作

于 2019-03-22T11:39:47.630 回答
-1

您可以使用用 c# 编写的与操作系统交互的控制台应用程序来完成它

由于 js 是一种客户端浏览器语言,它只能与浏览器/浏览器交互

于 2010-12-21T21:50:56.777 回答