网页保持屏幕唤起常亮状态,阻止息屏,一行代码搞定
window.navigator.wakeLock.request("screen");
因为保持屏幕唤醒是一个占用资源开销的行为,所以浏览器中,当页面最小化或者切换到非当前页的标签页的时候,屏幕的wake
锁定就会释放,用户再切换回当前页面的时候,就没有锁定屏幕了,因此如果切换回来后还想保持屏幕唤起状态,就需要其他代码处理唤醒
document.addEventListener("visibilitychange", () => {
if (document.visibilityState === "visible") {
window.navigator.wakeLock.request("screen");
}
});
知道怎么开启唤醒操作,如果用户想关闭唤醒锁定,所以也得知道怎么主动关闭唤醒锁定
WakeLockSentinel
对象可以主动关闭,该对象是navigator.wakeLock.request(‘screen’)
这个Promise
执行后的返回值
- 使用
then()
获取
let wakeLock = null;
window.navigator.wakeLock.request("screen").then((result)=>{
wakeLock = result;
});
- 使用
async/await
语法获取
let wakeLock = null;
(async () => {
wakeLock = await window.navigator.wakeLock.request("screen");
})();
获取对象后,执行对象上release()
方法,可以释放息屏锁定
wakeLock.release().then(() => {
wakeLock = null;
});
可以监听wakeLock
对象上的release
事件,来确定是什么时候释放唤醒锁定的
wakeLock.addEventListener("release", () => {
console.log("唤醒锁定已释放");
});