WakeLockSentinel
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
WakeLockSentinel
は画面起動ロック API のインターフェイスで、基礎となるプラットフォームの起動ロックへのハンドルを提供し、手動で解放および再取得することができます。起動ロックを表す Object
は navigator.wakelock.request()
メソッドを介して返されます。
取得した WakeLockSentinel
は release()
メソッドによって手動で解放するか、プラットフォームの起動ロックによって自動的に解放することが可能です。これは、文書が非アクティブになったり、見えなくなったりした場合、端末の電力が低下した場合、ユーザーが省電力モードをオンにした場合に発生する可能性があります。与えられた起動ロック種別のすべての WakeLockSentinel
インスタンスを解放すると、基盤となるプラットフォームの起動ロックが解放されます。
プロパティ
イベント
メソッド
例
この例では、 WakeLockSentinel
を要求する非同期関数を作成します。取得した後は、適切な UI への反映を行うために使用することができる release
イベントを待ちます。見張り (sentinel) は適切な操作で取得したり解放したりすることができます。
// 起動ロックの参照を作成
let wakeLock = null;
// 起動ロックを要求するための非同期関数を作成
const requestWakeLock = async () => {
try {
wakeLock = await navigator.wakeLock.request("screen");
// release イベントを待ち受け
wakeLock.addEventListener("release", () => {
// 起動ロックが解放されたら、それに合わせて UI を変更する
});
} catch (err) {
// 起動ロックに失敗した場合 - ふつうはバッテリーなどシステム関連
}
};
wakeLockOnButton.addEventListener("click", () => {
requestWakeLock();
});
wakeLockOffButton.addEventListener("click", () => {
if (wakeLock !== null) {
wakeLock.release().then(() => {
wakeLock = null;
});
}
});
仕様書
Specification |
---|
Screen Wake Lock API # the-wakelocksentinel-interface |
ブラウザーの互換性
BCD tables only load in the browser