recursal/MDN huggingface dataset:
AudioScheduledSourceNode.stop()
===============================

`stop()` は `AudioScheduledSourceNode` のメソッドは、指定された時刻に音の再生が停止するようにスケジュールします。時刻を指定しない場合は、音は直ちに再生を停止します。

同じノードで `stop()` を呼び出すたびに、以前にスケジュールされた停止時刻のうち、まだ発生していない時刻が指定された時刻に置き換わります。ノードが既に停止している場合、このメソッドは何の効果もありません。

**メモ:** ノードの予定開始時刻の前に予定停止時刻が発生した場合、ノードは再生を開始しません。

構文
--


```js
stop()
stop(when)
```

### 引数

`when` 省略可

音の再生を停止する時刻を、秒単位で指定します。この値は `AudioContext` がその `currentTime` 属性に使用しているのと同じ時間座標系で指定されます。この引数を除外したり、 0 を指定したり、負の値を渡したりすると、音の再生が即座に停止します。

### 返値

なし (`undefined`)。

### 例外

`InvalidStateNode` `DOMException`

ノードが `start()` の呼び出しによって開始されていない場合に発生します。

`RangeError`

`when` に指定した値が負である場合に発生します。

例
-

この例では、発振器ノードを起動し、すぐに演奏を始め、 1 つ目で演奏を停止するようにスケジュールしています。停止時間は、音声コンテキストの現在時刻を `AudioContext.currentTime` から取り出し、 1 秒を足すことで決定されます。


```js
context = new AudioContext();
osc = context.createOscillator();
osc.connect(context.destination);

/\* しばらく後に停止させたい場合は、引数として秒数を指定します。 \*/

osc.start();
osc.stop(context.currentTime + 1);
```

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-audioscheduledsourcenode-stop |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

参考
--

* ウェブオーディオ API の使用
* `start()`
* `AudioScheduledSourceNode`
* `AudioBufferSourceNode`
* `ConstantSourceNode`
* `OscillatorNode`
DeviceMotionEventAcceleration: x プロパティ
======================================

**`DeviceMotionEventAcceleration.x`** は読み取り専用のプロパティで、 `DeviceMotionEventAcceleration` オブジェクトの X 軸方向に発生した加速度を示します。

値
-

`double` 値で、 X 軸方向の加速度を示します。
 詳しくは加速度センサーの値についてを参照してください。

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # dom-devicemotioneventacceleration-x |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `DeviceMotionEventAcceleration.y`
* `DeviceMotionEventAcceleration.z`
DeviceMotionEventAcceleration: y プロパティ
======================================

**`DeviceMotionEventAcceleration.y`** は読み取り専用のプロパティで、 `DeviceMotionEventAcceleration` オブジェクトの Y 軸方向に発生した加速度を示します。

値
-

`double` 値で、 Y 軸方向の加速度を示します。
 詳しくは加速度センサーの値についてを参照してください。

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # dom-devicemotioneventacceleration-y |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `DeviceMotionEventAcceleration.x`
* `DeviceMotionEventAcceleration.z`
DeviceMotionEventAcceleration: z プロパティ
======================================

**`DeviceMotionEventAcceleration.z`** は読み取り専用のプロパティで、 `DeviceMotionEventAcceleration` オブジェクトの Z 軸方向に発生した加速度を示します。

値
-

`double` 値で、 Z 軸方向の加速度を示します。
 詳しくは加速度センサーの値についてを参照してください。

仕様書
---

| Specification |
| --- |
| DeviceOrientation Event Specification # dom-devicemotioneventacceleration-z |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `DeviceMotionEventAcceleration.x`
* `DeviceMotionEventAcceleration.y`
MIDIPort: close() メソッド
======================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの **`close()`** メソッドは、この `MIDIPort` に接続された MIDI デバイスへのアクセスを利用不可能にします。

ポートが正常に閉じられると、新しい `MIDIConnectionEvent` が `MIDIPort statechange` と `MIDIAccess statechange` イベントに渡され、`MIDIPort.connection` プロパティが `"closed"` になります。

構文
--


```js
close()
```

### 引数

なし

### 返値

ポートが閉じられると解決する `Promise` を返します。

例
-

以下の例では、出力ポートを閉じます。


```js
let output = midiAccess.outputs.get(portID);
output.close(); // ポートを閉じる
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-close |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: state プロパティ
=====================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`state`** は、ポートの状態を返します。

値
-

ポートの状態を表す文字列で、以下のいずれかです。

`"disconnected"`

この `MIDIPort` が表すデバイスは、システムから切断されています。

`"connected"`

この `MIDIPort` が表すデバイスは、現在接続されています。

例
-

以下の例では、すべての入力ポートを走査し、それぞれの状態をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.state);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-state |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: version プロパティ
=======================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`version`** は、ポートのバージョンを返します。

値
-

ポートのバージョンを表す文字列です。

例
-

以下の例では、すべての入力ポートを走査し、それぞれのバージョンをコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.version);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-version |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: manufacturer プロパティ
============================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`manufacturer`** は、ポートの製造元を返します。

値
-

ポートの製造元を表す文字列です。

例
-

以下の例では、すべての入力ポートを走査し、それぞれの製造元をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.manufacturer);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-manufacturer |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: connection プロパティ
==========================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`connection`** は、このポートの接続状態を返します。

値
-

このポートの接続状態を表す文字列で、以下のいずれかです。

`"open"`

この `MIDIPort` が表すデバイスは既に開かれており、利用可能です。

`"closed"`

この `MIDIPort` が表すデバイスは開かれていないか、閉じられた後です。

`"pending"`

この `MIDIPort` が表すデバイスは開かれていますが、その後切断されました。

例
-

以下の例では、すべての入力ポートを走査し、それぞれの接続状態をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.connection);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-connection |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: id プロパティ
==================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`id`** は、ポートの一意な ID を返します。

値
-

ポートの ID を表す文字列です。

例
-

以下の例では、すべての入力ポートを走査し、それぞれの ID をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.id);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-id |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: open() メソッド
=====================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの **`open()`** メソッドは、この `MIDIPort` に接続された MIDI デバイスを明示的に利用可能にします。

ポートを開くのに成功したら、新しい `MIDIConnectionEvent` が `MIDIPort statechange` と `MIDIAccess statechange` イベントに渡され、`MIDIPort.connection` プロパティが `"open"` になります。

このメソッドが呼ばれたときにポートが既に開かれている場合は、Promise は正常に解決します。

構文
--


```js
open()
```

### 引数

なし

### 返値

ポートへのアクセスを正常に得たら解決する `Promise` を返します。

### 例外

`InvalidAccessError` `DOMException`

ポートが利用不可能で開けない場合、Promise はこのエラーで拒否されます。

例
-

以下の例では、出力ポートを開きます。


```js
const output = midiAccess.outputs.get(portID);
output.open(); // ポートを開く
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-open |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: name プロパティ
====================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`name`** は、ポートのシステム名を返します。

値
-

ポートのシステム名を表す文字列です。

例
-

以下の例では、すべての入力ポートを走査し、それぞれの名前をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.name);
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-name |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: statechange イベント
==========================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの **`statechange`** イベントは、ポートが開いた状態から閉じた状態に、または閉じた状態から開いた状態に変化した時発火します。

構文
--

`addEventListener()` のようなメソッドでイベント名を用いるか、イベントハンドラープロパティを設定します。


```js
addEventListener("statechange", (event) => {});

onstatechange = (event) => {};
```

イベント型
-----

`MIDIConnectionEvent` です。`Event` を継承しています。

Event

MIDIConnectionEventイベントプロパティ
---------

`MIDIConnectionEvent.port` 読取専用 

接続または切断されたポートを表す `MIDIPort` のインスタンスへの参照を返します。

例
-

以下の例では、変わるたびに現在の `MIDIPort.state` を記録します。


```js
port.onstatechange = (event) => {
  console.log(port.state);
};
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-onstatechange |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIPort: type プロパティ
====================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`MIDIPort` インターフェイスの読み取り専用プロパティ **`type`** は、ポートの種類を返し、この MIDI ポートが入力ポートなのか出力ポートなのかを表します。

値
-

ポートの種類を表す文字列で、以下のいずれかです。

`"input"`

この `MIDIPort` は入力ポートです。

`"output"`

この `MIDIPort` は出力ポートです。

例
-

以下の例では、すべての入力ポートを走査し、その `type` をコンソールに出力します。


```js
for (const entry of midiAccess.inputs) {
  const input = entry[1];
  console.log(input.type); // 常に input のはず
}
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # dom-midiport-type |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
GravitySensor: GravitySensor() コンストラクター
=======================================

**`GravitySensor()`** コンストラクターは、デバイスの 3 軸それぞれにかかっている重力の測定値を提供する新しい `GravitySensor` オブジェクトを生成します。

構文
--


```js
new GravitySensor()
new GravitySensor(options)
```

### 引数

`options` 省略可

以下のオプションがあります。

`frequency`

1 秒間にサンプルを何回取得したいかであり、`reading` イベントが呼ばれる 1 秒あたりの回数になります。整数または小数が使用でき、小数は 1 秒に 1 回未満の頻度を設定するのに用います。実際の取得頻度はデバイスハードウェアに依存するので、要求値より少なくなる可能性があります。デフォルトの頻度は下層のプラットフォームで定義された頻度です。

`referenceFrame`

リファレンスフレームを表すローカル座標系です。`'device'` または `'screen'` を設定できます。デフォルトは `'device'` です。


### 例外

`SecurityError` `DOMException`

この機能の使用が Permissions Policy によりブロックされました。

仕様書
---

| Specification |
| --- |
| Accelerometer # dom-gravitysensor-gravitysensor |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `reading` イベント
PublicKeyCredential.rawId
=========================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`rawId`** は `PublicKeyCredential` インターフェイスの読み取り専用プロパティで、資格情報の識別子が入った `ArrayBuffer` オブジェクトです。

`PublicKeyCredential.id` プロパティはこの識別子が base64url エンコードされたものです。

**メモ:** このプロパティは最上位のコンテキストでしか使えません。例えば `<iframe>` の中では利用できません。

### 値

`ArrayBuffer` で、資格情報の識別子が入っています。この識別子はグローバルに固有で、現在の `PublicKeyCredential` および関連する `AuthenticatorAssertionResponse` を指しています。

例
-


```js
const options = {
  challenge: new Uint8Array(26) /\* from the server \*/,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(26) /\* To be changed for each user \*/,
    name: "canand@example.com",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey: options })
  .then((pubKeyCredential) => {
    const rawId = pubKeyCredential.rawId;
    // Do something with rawId
  })
  .catch((err) => {
    // Deal with any error
  });
```

仕様書
---

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # ref-for-dom-publickeycredential-rawid |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
PublicKeyCredential.id
======================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`id`** は `PublicKeyCredential` インターフェイスの読み取り専用プロパティで、 `Credential` から継承した文字列であり、現在の `PublicKeyCredential` インスタンスの識別子を表します。

このプロパティは `PublicKeyCredential.rawId` の base64url エンコード版です。

**メモ:** このプロパティは最上位のコンテキストでのみ使用することができ、例えば `<iframe>` では使用することができません。

値
-

`PublicKeyCredential.rawId` の base64url エンコード 版である文字列です。

例
-


```js
const publicKey = {
  challenge: new Uint8Array(26) /\* this actually is given from the server \*/,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(26) /\* To be changed for each user \*/,
    name: "canand@example.com",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey })
  .then((newCredentialInfo) => {
    const id = newCredentialInfo.id;
    // Do something with the id

    // send attestation response and client extensions
    // to the server to proceed with the registration
    // of the credential
  })
  .catch((err) => {
    console.error(err);
  });
```

仕様書
---

#### No specification found

No specification data found for `api.PublicKeyCredential.id`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Credential.id`
PublicKeyCredential.response
============================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`response`** は `PublicKeyCredential` インターフェイスの読み取り専用プロパティで、このプロパティは `AuthenticatorResponse` オブジェクトであり、資格情報の作成/取得のために認証先からユーザーエージェントに送信されるものです。このレスポンスに含まれる情報は、要求が正当なものであるかどうかを確認するために、依存している側のサーバーで使用されます。

`AuthenticatorResponse` は以下のどちらかです。

* `AuthenticatorAttestationResponse` （`PublicKeyCredential` が `CredentialsContainer.create()` で作成された場合）
* `AuthenticatorAssertionResponse` （`PublicKeyCredential` が `CredentialsContainer.get()` (en-US) から取得された場合）

資格情報の*生成*を検証するには、依存している側のサーバーは以下の両方を必要とします。

* このレスポンス
* 要求を検証するためのクライアントの拡張機能 （`PublicKeyCredential.getClientExtensionResults()` で指定されたもの）

**メモ:** 既存の資格情報の取得を検証する場合、 `PublicKeyCredential` オブジェクト全体とクライアント拡張機能が依存している側のサーバーに必要です。

**メモ:** このプロパティは最上位のコンテキストでのみ使用することができます。例えば `<iframe>` では使用することができません。

値
-

作成または取得の要求を検証するために、依存する側のスクリプトが受信し、依存する側がのサーバーに送信されるべきデータを含む `AuthenticatorResponse` オブジェクトです。このオブジェクトには、クライアントからのデータ (`AuthenticatorResponse/clientDataJSON` (en-US)) と認証器からのデータが含まれます。

例
-


```js
const options = {
  challenge: new Uint8Array(16) /\* from the server \*/,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(16) /\* from the server \*/,
    name: "canand@example.com",
    displayName: "Carina Anand",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey: options })
  .then((pubKeyCredential) => {
    const response = pubKeyCredential.response;
    const clientExtResults = pubKeyCredential.getClientExtensionResults();
    // Send response and client extensions to the server so that it can validate
    // and create credentials
  })
  .catch((err) => {
    // Deal with any error
  });
```

仕様書
---

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # dom-publickeycredential-response |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
===================================================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`isUserVerifyingPlatformAuthenticatorAvailable()`** は `PublicKeyCredential` インターフェイスの静的メソッドで、ユーザー検証プラットフォーム認証機能が利用できる場合に `true` に解決される `Promise` を返すメソッドです。

ユーザー検証プラットフォーム認証機能は、クライアント端末の一部であり（一般に取り外し不可）、ユーザーを識別するためにユーザーの操作を必要とする多要素認証機能の一種です。一般的なユーザー検証プラットフォーム認証機能には、以下のものがあります。

* Touch ID または Face ID (macOS や iOS)
* Windows Hello (Windows)
* Android の端末アンロック（指紋認証、顔認証、PIN、など）

**メモ:** このメソッドは最上位のコンテキストでのみ使用することができます。例えば `<iframe>` では使用できません。

構文
--


```js
isUserVerifyingPlatformAuthenticatorAvailable()
```

### 引数

なし。

### 返値

ユーザーを認証するプラットフォーム認証が利用できるかどうかを示す論理値に解決する `Promise` です。

**メモ:** このメソッドは静的メソッドであり、インスタンスではなく `PublicKeyCredential` インターフェイス上で直接呼び出されます。

**メモ:** 以前の版の仕様では、論理値は、そのような認証装置が存在することを開示することに対するユーザーの同意も伝えていました。

例
-


```js
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
  .then((available) => {
    if (available) {
      // We can proceed with the creation of a PublicKeyCredential
      // with this authenticator
    } else {
      // Use another kind of authenticator or a classical login/password
      // workflow
    }
  })
  .catch((err) => {
    // Something went wrong
    console.error(err);
  });
```

仕様書
---

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # dom-publickeycredential-isuserverifyingplatformauthenticatoravailable |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* Windows Hello
* Web Authentication and Windows Hello - MSDN Guide、特に special considerations mentioning `isUserVerifyingPlatformAuthenticator()`
PublicKeyCredential.getClientExtensionResults()
===============================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**`getClientExtensionResults()`** は `PublicKeyCredential` インターフェイスのメソッドであり、 `ArrayBuffer` の形で拡張機能の識別子と、クライアントが処理した後の結果の対応表を返します。

`PublicKeyCredential` の生成または読み出し中 (それぞれ `navigator.credentials.create()` および `navigator.credentials.get()` (en-US) で実施) に、それぞれ `PublicKeyCredentialCreationOptions.extensions` (en-US) および `PublicKeyCredentialRequestOptions.extensions` (en-US) によって与えられる別々の拡張機能のために、クライアントが処理する「専用の」処理を持つことができます。

**メモ:** 拡張機能はオプションであり、ブラウザーによって認識する拡張機能は異なります。すべての拡張機能はクライアントが処理することはオプションです。ブラウザーが指定された拡張機能を知らない場合、失敗としてはいけません。

**メモ:** このプロパティは最上位のコンテキストでしか使えない可能性があり、例えば `<iframe>` の中では利用できません。

構文
--
```

mapArrayBuffer = publicKeyCredential.getClientExtensionResults()
```

### 引数

なし。

### 返値

`ArrayBuffer` の形で、クライアントが様々な拡張機能を処理した結果です。拡張子の識別子と、クライアントが処理した後の結果の対応表を返します。このオブジェクトには拡張機能の識別子と処理の結果の対応表が入っています。

**警告:** 2019 年 3 月時点で、 `appId` (`PublicKeyCredentialRequestOptions.extensions` (en-US) の生成の間に使用される) のみ、 Chrome および Edge が対応しています。 Firefox はどの拡張機能にも対応していないようです。

例
-


```js
var publicKey = {
  // Here are the extensions (as "inputs")
  extensions: {
    loc: true, // This extension has been defined to include location information in attestation
    uvi: true, // user verification index: how the user was verified
  },
  challenge: new Uint8Array(16) /\* from the server \*/,
  rp: {
    name: "Example CORP",
    id: "login.example.com",
  },
  user: {
    id: new Uint8Array(16) /\* from the server \*/,
    name: "jdoe@example.com",
    displayName: "John Doe",
  },
  pubKeyCredParams: [
    {
      type: "public-key",
      alg: -7,
    },
  ],
};

navigator.credentials
  .create({ publicKey })
  .then(function (newCredentialInfo) {
    var myBuffer = newCredentialInfo.getClientExtensionResults();
    // myBuffer will contain the result of any of the processing of the "loc" and "uvi" extensions
  })
  .catch(function (err) {
    console.error(err);
  });
```

仕様書
---

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # ref-for-dom-publickeycredential-getclientextensionresults |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 現在定義されている拡張機能の一覧
* `AuthenticatorAssertionResponse.authenticatorData` (en-US): 認証者の実行処理の結果が入る
* `PublicKeyCredentialCreationOptions.extensions` (en-US): 認証情報を作成するためのクライアント拡張機能の入力値が入る
* `PublicKeyCredentialRequestOptions.extensions` (en-US): 認証情報を受け取るクライアント拡張機能の入力値が入る
WorkerNavigator.platform
========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

ブラウザーのプラットフォームを表す文字列を返します。仕様では、ブラウザーは常に空文字列を返すようになっているので、このプロパティに頼らずに確実な答えを取得するようにしてください。

値
-

ブラウザーが動作しているプラットフォームを表す文字列、またはブラウザーがプラットフォームの特定を拒否した（あるいはできない）場合は空文字列を指定します。platform`は空文字列か、ブラウザーが実行されているプラットフォームを表す文字列である必要があります。

例: "`MacIntel`", "`Win32`", "`FreeBSD i386`", "`WebTV OS`".

例
-


```js
console.log(navigator.platform);
```

使用上の注意
------

Chrome、Edge、Firefox 63 以降を含むほとんどのブラウザーは、 64 ビット版の Windows で実行した場合でも、 `"Win32"` を返します。 Internet Explorer と Firefox のバージョン 63 より前のバージョンは、まだ `"Win64"` を報告します。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-navigator-platform-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
WorkerNavigator.appVersion
==========================

**非推奨:** この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

"`4.0`" またはブラウザーのバージョン情報を表す文字列のいずれかを返します。

**メモ:** このプロパティが正しいブラウザーバージョンを返すことに頼らないでください。

値
-

"`4.0`"またはブラウザのバージョン情報を表す文字列のどちらかです。

例
-


```js
alert(`Your browser version is reported as ${navigator.appVersion}`);
```

メモ
--

`navigator.userAgent` プロパティには、バージョン番号も含まれていますが（例えば "`Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape 6/6.1`"）、ユーザーエージェント文字列を変更したり他のブラウザーやプラットフォーム、ユーザーエージェントに「偽装」することがどれだけ簡単か、そしてブラウザベンダー自身がこれらのプロパティをどれだけ軽く扱っているかについて知っておくことが必要でしょう。

`navigator.appVersion`、`navigator.appName`、`navigator.userAgent` の各プロパティは「ブラウザースニッフィング」コードで使用されています。これは、使用しているブラウザーを探して、それに応じてページを調整しようとするスクリプトの体系です。このため、一部のウェブサイトから締め出されないようにするために、ブラウザーがこれらのプロパティから偽装した値を返さなければならない、という現状が生まれました。

仕様書
---

| Specification |
| --- |
| HTML Standard # dom-navigator-appversion-dev |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
WorkerNavigator: serviceWorker プロパティ
====================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`WorkerNavigator` インターフェイスの読み取り専用プロパティ **`serviceWorker`** は、関連付けられた文書の `ServiceWorkerContainer` オブジェクトを返します。このオブジェクトは、`ServiceWorker` の登録、除去、更新、通信を可能にします。

この機能は、プライベートモードでは利用できない可能性があります。

値
-

`ServiceWorkerContainer` です。

例
-

このコードは、ワーカー内でブラウザーがサービスワーカーの使用に対応しているかをチェックします。


```js
if ("serviceWorker" in navigator) {
  // 対応しています！
}
```

仕様書
---

| Specification |
| --- |
| Service Workers # navigator-serviceworker |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* サービスワーカー API
* サービスワーカーの使用
WorkerNavigator: deviceMemory プロパティ
===================================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

`WorkerNavigator` インターフェイスの読み取り専用プロパティ **`deviceMemory`** は、デバイスのメモリのだいたいの量をギガバイト単位で返します。

報告される値は、フィンガープリンティングを抑えるため、不正確です。値は、一番近い 2 の累乗に切り捨て、その後 1024 で割ることで近似されます。その後、メモリが非常に少ないまたは非常に多いデバイスの所有者のプライバシーを守るため、下限と上限の間にクランプされます。

値
-

浮動小数点数で、`0.25`, `0.5`, `1`, `2`, `4`, `8` のいずれかです。

例
-

以下のコードはワーカー内で実行できます。


```js
const memory = navigator.deviceMemory;
console.log(`このデバイスには少なくとも ${memory} GiB の RAM があります。`);
```

仕様書
---

| Specification |
| --- |
| Device Memory # sec-device-memory-js-api |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Device-Memory` HTTP ヘッダー