WakeLock: request() 方法
request() 方法是 WakeLock 介面的一部分,它返回一個 Promise,如果系統螢幕喚醒鎖被授予,該 Promise 會解析為 WakeLockSentinel 物件。
螢幕喚醒鎖可防止裝置螢幕在應用程式需要持續執行時變暗或鎖定。
語法
js
request(type)
引數
如果未明確指定 type 引數,request() 方法將預設使用 screen 型別。
返回值
一個 Promise,它會解析為 WakeLockSentinel 物件。
異常
NotAllowedErrorDOMException-
在喚醒鎖不可用時丟擲,這可能發生因為:
- 此功能的使用被 Permissions Policy 阻止。
- 文件不處於完全活動狀態。
- 文件的可見性狀態為
hidden。 - 使用者代理 (User Agent) 無法獲取平臺的喚醒鎖。例如,這可能發生在裝置電量不足時。
示例
以下非同步函式請求一個 WakeLockSentinel 物件。request() 方法包裝在 try...catch 語句中,以處理瀏覽器因任何原因拒絕請求的情況。
js
const requestWakeLock = async () => {
try {
const wakeLock = await navigator.wakeLock.request("screen");
} catch (err) {
// The wake lock request fails - usually system-related, such as low battery.
console.log(`${err.name}, ${err.message}`);
}
};
requestWakeLock();
螢幕喚醒鎖在被授予後可能會被裝置撤銷。返回的 WakeLockSentinel 可用於檢查鎖的狀態,和/或手動取消已持有的螢幕喚醒鎖。
規範
| 規範 |
|---|
| Screen Wake Lock API # the-request-method |
瀏覽器相容性
載入中…