我对javascript编程完全陌生,我有一个问题,我无法在任何地方找到答案。
我最近整理了一个简单的幻灯片,以远程查看我在家用计算机上托管的照片。这本身就可以。我遇到的问题是,当我查看照片时,我不会与硬件交互,这会在一段时间后导致显示器关闭。在我的手机上观看照片时,这尤其令人讨厌。
我的问题是:有没有办法防止这种情况发生?每当我刷新照片时,我都在想着伪造鼠标或其他事件的方向,但我不知道如何做到这一点以及是否有可能。
非常感谢任何帮助!
答案 0 :(得分:9)
没有。浏览器上的JavaScript无法与底层系统交互。在浏览器中模拟击键不会阻止屏幕保护程序打开。这是出于安全原因,因此恶意代码在您访问网页时不会损害系统。
现代JavaScript安全模型 基于Java。理论上, 下载的脚本默认运行 在受限制的“沙箱”环境中 将它们与其余部分隔离开来 操作系统。脚本是 只允许访问数据 目前的文件或密切相关 文件(通常来自 与当前文件相同的网站)。没有 访问被授予本地文件 系统,其他的存储空间 运行程序,或运行 系统的网络层。遏制 这种设计是为了防止 故障或恶意脚本 从用户的破坏中肆虐 环境。现实的 然而,情况经常发生 脚本不像包含的那样整齐 人们会希望。有很多 脚本可以行使权力的方式 超出你的期望,两者都是 设计和偶然。
答案 1 :(得分:3)
不,JavaScript不会影响硬件或操作系统。只需关闭显示器省电设置,直到完成幻灯片放映。
答案 2 :(得分:1)
是的,现在有可能:)
只需使用NoSleep.js库:https://github.com/richtr/NoSleep.js
在我的Android平板电脑上,Revelal.js幻灯片正在为我工作
答案 3 :(得分:0)
你可以使用用c#编写的与os
交互的控制台应用程序来完成它因为js是客户端浏览器语言,所以它只能与浏览器/ bowser进行交互
答案 4 :(得分:0)
自从最初提出此问题以来的十年中,JavaScript已发展为提供许多OS功能(通常以安全的方式)。 “唤醒锁定”功能正在缓慢实施。当前,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)正在以各种方式考虑它。