Standby API讓你可以在頂層瀏覽器頁面中請求屏幕持續顯示鎖。這可以防止設備進入省電狀態(例如屏幕自動關閉)。這個功能對有些web應用來說至關重要。例如,想像一下你正在駕車并在手機上使用基于web的導航軟件(非本地應用)。如果你不去觸碰屏幕的話,你的手機的屏幕會自動關閉,除非你事前在手機上進行過相關的設置。在這樣的情況下,通常你是想要讓屏幕保持顯示狀態的。這恰恰是這個API適用的地方。
這個API需要通過window.navigator對象下的wakeLock屬性來使用。它會提供兩個函數:
- request(): 使當前應用能讓屏幕保持顯示狀態。
- release(): 釋放持續顯示鎖,這樣屏幕就不會再被強制要求顯示。
這兩個函數都只接受一個參數,其只能是“screen”或“system”。前者表示操作針對的是設備屏幕,而后者針對的是除屏幕之外如CPU或廣播之類的其他設備資源。
以下例子會演示如何適用該API讓設備屏幕保持顯示狀態:
navigator.wakeLock.request("display").then( function successFunction() { // do something }, function errorFunction() { // do something else } );
要讓設備允許屏幕關閉,我們可以用以下方法:
navigator.wakeLock.release("display");
如果你想要了解關于Standby API的更多信息,可以參考這個非官方草案。