このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
WakeLockSentinel
Baseline
2025
Newly available
Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or 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> |
ブラウザーの互換性
Enable JavaScript to view this browser compatibility table.