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