Newly available 主要ブラウザで対応済みだが、古いバージョンでは未対応の場合がある。

対応ブラウザ

機能 デスクトップ モバイル
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
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (126)
実装メモ
  • 値は認識されるが、効果はない。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (18.4)
実装メモ
  • スタンドアロンのホーム画面ウェブアプリでは動作しません。バグ254545を参照してください。

基本構文

JAVASCRIPT
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) でのみ利用できます。

注意点

  • 古いブラウザでは対応していない場合がある。

アクセシビリティ

  • スクリーンリーダーでの読み上げを確認すること。