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

使用JavaScript/HTML防止手机在移动网络浏览器中睡眠的技巧?,javascript,android,html,ios,mobile,Javascript,Android,Html,Ios,Mobile,我知道,对于Android和iPhone上的本地移动应用程序,有一些简单的方法可以防止手机睡眠,但我正在构建一个在移动web浏览器中运行的移动web应用程序,并希望探索这种可能性 我有一种感觉,出于安全原因,这是不可能的,但我想可能有人想出了一个JavaScript技巧,或者一些在移动浏览器(如mobile Safari、Firefox或Opera)上工作的东西?我使用setInterval的经验是,如果长时间使用会导致内存泄漏和内存使用率增加。在这里,使用setTimeout可能很有用,可以每

我知道,对于Android和iPhone上的本地移动应用程序,有一些简单的方法可以防止手机睡眠,但我正在构建一个在移动web浏览器中运行的移动web应用程序,并希望探索这种可能性


我有一种感觉,出于安全原因,这是不可能的,但我想可能有人想出了一个JavaScript技巧,或者一些在移动浏览器(如mobile 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功能中采取一些操作,触发一些可以使手机保持清醒的动作。接受建议。

我不确定这是否可能。我想不是。但我建议,如果你的应用程序依赖于手机而不是睡眠,那么你就做错了;你会让那些因你耗尽电池而恼怒的用户感到不安。@JohnWatson我们的应用程序并不依赖于手机不睡觉;然而,对于我们应用程序的特定部分,我们更希望手机保持清醒。为什么f**k会这样关闭?这是一个非常明智的问题,无论答案是可能还是不可能,而且非常清楚。看这里:这真的让电话保持清醒吗?我有点怀疑…我知道这不起作用,因为我们的应用程序当前有一个设置的超时总是发生。。。屏幕仍然关闭。。。我在想也许有办法模拟触摸事件?这可能有用吗?请看这里: