發(fā)布于:2021-02-16 00:00:54
0
454
0
對于移動設備,Web開發(fā)人員仍然很難完成工作。網(wǎng)絡將永遠不會提供與本機移動平臺一樣多的API或控件,但是我們的用戶希望獲得同樣的出色體驗。在網(wǎng)絡上創(chuàng)建HTML5游戲和需要大量媒體的應用程序可能非常困難,因為您必須真正關注本機平臺提供的其余小功能的性能。
這些小功能之一包括防止用戶不活動時使設備進入休眠狀態(tài)。想象一下,您的用戶在玩一個不需要太多交互的游戲,正在經(jīng)歷一個VR演示,甚至只是一個博客文章或幻燈片,而屏幕突然變黑了-這是您的用戶可能不愿意的(并且不應該擁有容忍。那就是NoSleep.js進來的地方:一個小的Wake Lock API填充程序,以防止瀏覽器和設備進入睡眠狀態(tài)!
使用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視頻并連續(xù)播放,這是可行的,因為瀏覽器知道在播放視頻時不會發(fā)出睡眠信號。防止設備進入休眠狀態(tài)的聰明方法!
我們能否獲得一個JavaScript API,該API可以控制設備是否睡眠?可能-尚未有任何瀏覽器供應商承諾使用Wake Lock API。這就是為什么我們的Web開發(fā)人員必須保持機智,將事情掌握在自己手中!