Screen wake lock
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
wakeLock は読み取り専用のプロパティで、 WakeLock インターフェイスを返します。これにより、文書が画面起動ロックを取得することができます。画面起動ロックが有効であれば、ユーザーエージェントは端末が画面を暗くしたり、画面を完全にオフにしたり、スクリーンセーバーを表示したりすることを防ぐよう試みることができます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 84 | 84 | 126 | 16.4 | 84 | 18.4 | |
| wakeLock は読み取り専用のプロパティで、 WakeLock インターフェイスを返します。これにより、文書が画面起動ロックを取得することができます。画面起動ロックが有効であれば、ユーザーエージェントは端末が画面を暗くしたり、画面を完全にオフにしたり、スクリーンセーバーを表示したりすることを防ぐよう試みることができます。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
permission_screen-wake-lock screen-wake-lock`パーミッション | 84 | 84 | 126 | 16.4 | 84 | 16.4 |
| request() は WakeLock インターフェイスのメソッドで、画面を暗くしたりロックしたりすることを制御することができる WakeLockSentinel で解決するプロミス (Promise) を返します。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
| WakeLockSentinel は画面起動ロック API のインターフェイスで、基礎となるプラットフォームの起動ロックへのハンドルを提供し、手動で解放および再取得することができます。起動ロックを表す Object は WakeLock.request() メソッドを介して返されます。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
| release() は WakeLockSentinel インターフェイスのメソッドで、 WakeLockSentinel を返し、この見張り (sentinel) の解放に成功したら解決する Promise を返します。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
| release は WakeLockSentinel インターフェイスのイベントで、この見張りオブジェクトのハンドルが解放されたときに発行されます。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
| released は WakeLockSentinel インターフェイスのプロパティで、 WakeLockSentinel がまだ解放されていないかどうかを示す論理値を返します。 | 87 | 87 | 126 | 16.4 | 87 | 18.4 |
| type は WakeLockSentinel インターフェイスの読み取り専用プロパティで、現在取得している WakeLockSentinel の種別の文字列表現を返します。 | 84 | 84 | 126 | 16.4 | 84 | 18.4 |
| その他 | ||||||
html.elements.iframe.allow.screen-wake-lock | 84 | 84 | 126 | 16.4 | 84 | 16.4 |
| HTTP の Permissions-Policy ヘッダーにおける screen-wake-lock ディレクティブは、現在の文書が画面起動ロック API を使用して、端末が画面を暗くしたりオフにしたりしないよう指示することを許可するかどうか制御します。 | 88 | 88 | | | 88 | |
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (126)
- 値は認識されるが、効果はない。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (18.4)
- スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
基本構文
let wakeLock = null;
async function requestWakeLock() {
wakeLock = await navigator.wakeLock.request('screen');
console.log('Wake Lock enabled');
}
async function releaseWakeLock() {
await wakeLock?.release();
console.log('Wake Lock released');
} 実務での使いどころ
-
Screen wake lock の活用
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
注意点
- 古いブラウザでは対応していない場合がある。
アクセシビリティ
- スクリーンリーダーでの読み上げを確認すること。