使用JavaScript/HTML阻止手机在移动网络浏览器中睡觉?

K2x*_*2xL 9 html javascript mobile android ios

我知道Android和iPhone上的原生移动应用程序有一些简单的方法可以防止手机入睡,但我正在构建一个在移动网络浏览器中运行的移动Web应用程序,并希望探索这种可能性.

我有一种感觉,出于安全考虑,这是不可能的,但我想也许有人想出了一个JavaScript技巧,或者可以在移动浏览器,如移动Safari,Firefox或Opera上运行的东西?

sci*_*tai -2

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

打开应用程序中您想要保持打开状态的部分时,

var id,
    timeout = 600;

id = setTimeout(stayOpen, timeout);

var stayOpen = function () {
  if (stillOnPage) {
    id = setTimeout(stayOpen, timeout);
  }
});
Run Code Online (Sandbox Code Playgroud)

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

clearTimeout(id);
Run Code Online (Sandbox Code Playgroud)

编辑:如果这不起作用,那么您可能可以在stayOpen 函数中执行一些操作,该操作会触发一些使手机保持唤醒状态的操作。接受建议。