防止移动浏览器进入休眠状态

发布于:2021-02-16 00:00:54

0

277

0

浏览器 Web 开发人员 休眠状态

对于移动设备,Web开发人员仍然很难完成工作。网络将永远不会提供与本机移动平台一样多的API或控件,但是我们的用户希望获得同样的出色体验。在网络上创建HTML5游戏和需要大量媒体的应用程序可能非常困难,因为您必须真正关注本机平台提供的其余小功能的性能。

这些小功能之一包括防止用户不活动时使设备进入休眠状态。想象一下,您的用户在玩一个不需要太多交互的游戏,正在经历一个VR演示,甚至只是一个博客文章或幻灯片,而屏幕突然变黑了-这是您的用户可能不愿意的(并且不应该拥有容忍。那就是NoSleep.js进来的地方:一个小的Wake Lock API填充程序,以防止浏览器和设备进入睡眠状态!

使用NoSleep.js非常简单。要开始无睡眠效果,只需添加:

var noSleep = new NoSleep();

function enableNoSleep() {
 noSleep.enable();
 document.removeEventListener('touchstart', enableNoSleep, false);
}

// Enable wake lock.
// (must be wrapped in a user input event handler e.g. a mouse or touch handler)
document.addEventListener('touchstart', enableNoSleep, false);

一旦您想放弃对睡眠的控制,只需调用以下disable 方法:

// Disable wake lock at some point in the future.
// (does not need to be wrapped in any user input event handler)
noSleep.disable();

那么,NoSleep.js如何防止睡眠效果?NoSleep.js会模拟一个很小的mp4视频并连续播放,这是可行的,因为浏览器知道在播放视频时不会发出睡眠信号。防止设备进入休眠状态的聪明方法!

我们能否获得一个JavaScript API,该API可以控制设备是否睡眠?可能-尚未有任何浏览器供应商承诺使用Wake Lock API。这就是为什么我们的Web开发人员必须保持机智,将事情掌握在自己手中!