使用JavaScript/HTML在移动web浏览器中防止手机睡眠的技巧

Tricks to keep phone from sleeping in mobile web browser using JavaScript/HTML?

本文关键字:手机 HTML JavaScript 移动 浏览器 web 使用      更新时间:2023-09-26

我知道Android和iPhone上的原生移动应用程序有很简单的方法可以让手机保持休眠状态,但我正在构建一个在移动web浏览器上运行的移动web应用程序,并希望探索这种可能性。

我有一种感觉,这是不可能的安全原因,但我想也许有人想出了一个JavaScript技巧或一些东西,在移动浏览器上工作,如移动Safari, Firefox或Opera?

我使用setInterval的经验是,如果长时间使用它会导致内存泄漏并增加内存使用量。在这里使用setTimeout可能很有用,可以保持每分钟运行一个小函数。这应该能让手机在不耗尽多余内存的情况下保持正常运行。

打开应用程序中想要保持打开的部分,

var id,
    timeout = 600;
id = setTimeout(stayOpen, timeout);
var stayOpen = function () {
  if (stillOnPage) {
    id = setTimeout(stayOpen, timeout);
  }
});

当用户离开页面时,你应该清除超时

clearTimeout(id);

编辑:如果这不起作用,那么你可以在stayOpen函数中采取一些动作,触发一些东西,使手机保持清醒状态。