1.背景

移动端在浏览H5网页时,经过一段时候后系统会黑屏,手机进入休眠模式。NoSleep插件旨在让任何Android ,iOS浏览器不进入休眠状态,保持屏幕常亮。

2.原理

nosleep.js插件激活时会在H5网页中生成一段mp4视频,从而保证设备常亮。

3.Demo

https://richtr.github.io/NoSleep.js/example/

直接在移动端加载该页面测试即可。

4.使用

4.1引入NoSleep库

库在这里=> https://github.com/richtr/NoSleep.js/blob/master/dist/NoSleep.min.js

4.2初始化组件

//init noSleep

var noSleep = new NoSleep();

// Enable wake lock.

// (must be wrapped in a user input event handler e.g. a mouse or touch handler)

//  noSleep.enable()初始化方法必须绑定在鼠标事件或触摸事件内,

//  当点击页面时就会激活不休眠功能

document.addEventListener('click', function enableNoSleep() {

document.removeEventListener('click', enableNoSleep, false);

noSleep.enable();

console.log('enable noSleep');

}, false);

5.局限性

某些环境下不能完全兼容,但可以满足正常需求。更多讨论:https://github.com/richtr/NoSleep.js/issues

6.完整示例

苹果设备ios系统暂不支持。