aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/wakelock/request/index.md
blob: c5fb43d0a2edc4fa5bd45d33e25f5321a6dda48a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
title: WakeLock.request()
slug: Web/API/WakeLock/request
tags:
  - API
  - Method
  - リファレンス
  - 画面起動ロック API
  - WakeLock
browser-compat: api.WakeLock.request
translation_of: Web/API/WakeLock/request
---
{{securecontext_header}}{{DefaultAPISidebar("Screen Wake Lock API")}}

**`request()`** は {{domxref("WakeLock")}} インターフェイスのメソッドで、画面を暗くしたりロックしたりすることを制御することができる {{domxref("WakeLockSentinel")}} で解決するプロミス ({{jsxref("Promise")}}) を返します。

## 構文

```js
var wakeLock = navigator.wakeLock.request(type);
```

### 引数

- _type_

  - : オプションは次の通りです。

    - `'screen'`: 画面の起動ロックを要求します。端末の画面が暗くなったりロックされたりすることを防ぎます。

### 返値

{{domxref("WakeLockSentinel")}} オブジェクトで解決する {{jsxref("Promise")}} を返します。

### 例外

- `NotAllowedError`

  - : 起動ロックが利用できないときに発生します。原因は以下のようなものです。

    - 文書が screen-wake-lock ポリシーにより、画面起動ロックを使用することができない。
    - 文書が完全にアクティブではない。
    - 文書が非表示になっている。
    - {{Glossary("User Agent", "ユーザーエージェント")}}がプラットフォームの起動ロックを取得できない。

## 例

以下の非同期関数は、 {{domxref("WakeLockSentinel")}} オブジェクトを要求します。
`request()` メソッドはブラウザーが何らかの理由でリクエストを拒否した場合を想定して、 `try...catch` 文で囲まれています。

```js
const requestWakeLock = async () => {
  try {

    const wakeLock = await navigator.wakeLock.request('screen');

  } catch (err) {
    // 起動ロックの要求に失敗 - 通常は、バッテリー低下などシステムに起因する。

    console.log(`${err.name}, ${err.message}`);
  }
}

requestWakeLock();
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- {{DOMxRef("WakeLock")}}
- {{DOMxRef("Navigator.wakeLock")}}