diff options
Diffstat (limited to 'files/ja/web/api')
-rw-r--r-- | files/ja/web/api/wakelocksentinel/index.md | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/files/ja/web/api/wakelocksentinel/index.md b/files/ja/web/api/wakelocksentinel/index.md new file mode 100644 index 0000000000..84641484eb --- /dev/null +++ b/files/ja/web/api/wakelocksentinel/index.md @@ -0,0 +1,89 @@ +--- +title: WakeLockSentinel +slug: Web/API/WakeLockSentinel +tags: + - API + - インターフェイス + - リファレンス + - 画面起動ロック API + - 起動ロック + - 画面 +browser-compat: api.WakeLockSentinel +translation_of: Web/API/WakeLockSentinel +--- +{{securecontext_header}}{{DefaultAPISidebar("Screen Wake Lock API")}} + +**`WakeLockSentinel`** は[画面起動ロック API](/ja/docs/Web/API/Screen_Wake_Lock_API) のインターフェイスで、基礎となるプラットフォームの起動ロックへのハンドルを提供し、手動で解放および再取得することができます。起動ロックを表す {{jsxref('Object')}} は {{domxref('WakeLock.request()','navigator.wakelock.request()')}} メソッドを介して返されます。 + +取得した `WakeLockSentinel` は {{domxref('WakeLockSentinel.release','release()')}} メソッドによって手動で解放するか、プラットフォームの起動ロックによって自動的に解放することが可能です。これは、文書が非アクティブになったり、見えなくなったりした場合、端末の電力が低下した場合、ユーザーが省電力モードをオンにした場合に発生する可能性があります。与えられた起動ロック種別のすべての `WakeLockSentinel` インスタンスを解放すると、基盤となるプラットフォームの起動ロックが解放されます。 + +{{InheritanceDiagram}} + +## プロパティ + +_このインターフェイスは以下のプロパティを提供しています。_ + +- {{domxref("WakeLockSentinel.released", "released")}} {{ReadOnlyInline}} + - : 論理値で、 `WakeLockSentinel` が解放されたかどうかを示します。 +- {{domxref("WakeLockSentinel.type", "type")}} {{ReadOnlyInline}} + + - : 文字列で、取得した現在の `WakeLockSentinel` の種別を示します。 + 返値は次の通りです。 + + - `'screen'`: 画面の起動ロックです。端末の画面が暗くなったりロックされたりすることを防ぎます。 + +## イベント + +- {{domxref("WakeLockSentinel.release_event", "release")}} + - : {{domxref('WakeLockSentinel.release','release()')}} メソッドが呼び出されるか、起動ロックがユーザーエージェントによって解放されると発行されます。 + +## メソッド + +- {{domxref('WakeLockSentinel.release()', 'release()')}} + - : `WakeLockSentinel` の解放を行い、解放に成功したら解決する {{jsxref("Promise")}} を返します。 + +## 例 + +この例では、 `WakeLockSentinel` を要求する非同期関数を作成します。取得した後は、適切な UI への反映を行うために使用することができる `release` イベントを待ちます。見張り (sentinel) は適切な操作で取得したり解放したりすることができます。 + +```js +// 起動ロックの参照を作成 +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; + }) + } +}) +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} |