gpt4 book ai didi

javascript - 使用 JS 识别计算机已从 sleep 模式唤醒

转载 作者:行者123 更新时间:2023-12-04 14:54:57 25 4
gpt4 key购买 nike

我正在寻找某种方法来识别计算机是否已从 sleep 模式唤醒。我遇到了这个 article在 setInterval 中使用日期时间戳来识别它。

它在 Firefox 中完美运行,但在其他浏览器(Chrome、Safari 和 Edge)中运行不佳。在大约 6 分钟的不活动(并且没有焦点)之后,时间戳差异变得大于超时,然后触发唤醒功能。

var TIMEOUT = 20000;
var lastTime = (new Date()).getTime();

setInterval(function() {
var currentTime = (new Date()).getTime();
if (currentTime > (lastTime + TIMEOUT + 2000)) {
// Wake!
}
lastTime = currentTime;
}, TIMEOUT);

有没有其他方法可以识别计算机是否已从 sleep 模式唤醒?

最佳答案

浏览器在管理功耗方面变得越来越积极,尤其是来自非事件窗口或选项卡的功耗。 “safari settimeout javascript inactive throttle”的快速 duckduckgo 会给你很多点击率。一定时间后,浏览器可能会无视您请求的超时间隔,添加指数延长超时,或完全卡住 javascript,这是可以理解的。我个人很高兴他们这样做。

我怀疑是否有解决此问题的方法,因为任何漏洞都会被利用,并且即使用户数小时或数天没有查看该窗口选项卡,网站也将再次能够消耗 CPU 周期并因此耗电。

如果有(或有一天)解决这个问题的方法,它可能看起来像 iOS 应用程序的工作方式,应用程序被卡住但可以请求为非常特定的事件唤醒后台任务。

关于javascript - 使用 JS 识别计算机已从 sleep 模式唤醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68230964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com