recursal/MDN huggingface dataset:
PopStateEvent
=============

**`PopStateEvent`** は `popstate` イベントのインターフェイスです。

`popstate` イベントは、同じ文書内の 2 つの履歴項目の間でアクティブな履歴項目が変更されるたびにウィンドウに配信されます。アクティブになる履歴項目が `history.pushState()` の呼び出しによって作成されたものであるか、 `history.replaceState()` の呼び出しによって変更された場合、 `popstate` イベントの `state` プロパティには履歴項目の状態オブジェクトのコピーが格納されます。

Event

PopStateEventコンストラクター
--------

`PopStateEvent()`

新しい `PopStateEvent` オブジェクトを生成します。

インスタンスプロパティ
-----------

*このインターフェイスには、親である `Event` から継承したプロパティもあります。*

`PopStateEvent.state` 読取専用 

`pushState()` または `replaceState()` に指定された情報のコピーを返します。

インスタンスメソッド
----------

*このインターフェイスには、親である `Event` から継承したメソッドもあります。*

仕様書
---

| Specification |
| --- |
| HTML Standard # the-popstateevent-interface |

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

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

関連情報
----

* `popstate` イベント
* `hashchange` イベント
SpeechSynthesisErrorEvent
=========================

**`SpeechSynthesisErrorEvent`** はウェブ音声 API のインターフェイスで、発話サービスの `SpeechSynthesisUtterance` オブジェクトの処理中に発生したエラーに関する情報を保持します。

Event

SpeechSynthesisEvent

SpeechSynthesisErrorEventコンストラクター
--------

`SpeechSynthesisErrorEvent()`

新しい `SpeechSynthesisErrorEvent` イベントを生成します。

インスタンスプロパティ
-----------

*`SpeechSynthesisErrorEvent` は `SpeechSynthesisEvent` インターフェイスから派生しており、親インターフェイスである `Event` からプロパティを継承しています。*

`SpeechSynthesisErrorEvent.error` 読取専用 

音声合成に失敗したことを示すエラーコードを返します。

インスタンスメソッド
----------

*`SpeechSynthesisErrorEvent` は `SpeechSynthesisEvent` インターフェイスから派生しており、親インターフェイスである `Event` からメソッドを継承しています。*

例
-


```js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// ...

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (let i = 0; i < voices.length; i++) {
    if (voices[i].name === selectedOption) {
      utterThis.voice = voices[i];
    }
  }

  synth.speak(utterThis);

  utterThis.onerror = (event) => {
    console.log(
      `An error has occurred with the speech synthesis: ${event.error}`,
    );
  };

  inputTxt.blur();
};
```

仕様書
---

| Specification |
| --- |
| Web Speech API # speechsynthesiserrorevent |

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

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

関連情報
----

* ウェブ音声 API
CSSNumericValue
===============

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`CSSNumericValue`** は CSS 型付きオブジェクトモデル APIのインターフェイスで、すべての数値型が実行することができる操作を表します。

CSSStyleValue

CSSNumericValueCSSNumericValue ベースのインターフェイス
----------------------------

以下は、 CSSNumericValue インターフェイスをベースとするインターフェイスの一覧です。

* `CSSMathClamp`
* `CSSMathInvert` (en-US)
* `CSSMathMax` (en-US)
* `CSSMathMin` (en-US)
* `CSSMathNegate` (en-US)
* `CSSMathProduct` (en-US)
* `CSSMathSum` (en-US)
* `CSSMathValue` (en-US)
* `CSSNumericArray` (en-US)
* `CSSUnitValue` (en-US)
プロパティ
-----

なし。

メソッド
----

### インスタンスメソッド

`CSSNumericValue.add`

提供された数値を `CSSNumericValue` へ加算します。

`CSSNumericValue.sub`

提供された数値を `CSSNumericValue` から減算します。

`CSSNumericValue.mul`

`CSSNumericValue` に提供された数値を乗算します。

`CSSNumericValue.div`

`CSSNumericValue` を提供された数値で除算します。

`CSSNumericValue.min`

渡された最小値を返します。

`CSSNumericValue.max`

渡された最大値を返します。

`CSSNumericValue.equals`

すべての値がまったく同じ型と値で、同じ順序であれば *true* です。そうでなければ、*false* です。

`CSSNumericValue.to`

`value` を指定された単位に変換します。

`CSSNumericValue.toSum`

既存の `CSSNumericValue` を指定された単位の値の `CSSMathSum` (en-US) オブジェクトへ変換します。

`CSSNumericValue.type`

`CSSNumericValue` の型を、 `angle`, `flex`, `frequency`, `length`, `resolution`, `percent`, `percentHint`, `time` の何れかから返します。

### 静的メソッド

`CSSNumericValue.parse`

`CSSNumericValue` を CSS の文字列から直接構築します。

仕様書
---

| Specification |
| --- |
| CSS Typed OM Level 1 # numeric-value |

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

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

関連情報
----

* `CSSImageValue`
* `CSSKeywordValue`
* `CSSPositionValue` (en-US)
* `CSSTransformValue`
* `CSSUnparsedValue`
MediaDeviceInfo
===============

**`MediaDeviceInfo`** インターフェイスは、単一のメディア入力または出力機器を示す情報を持ちます。

`navigator.mediaDevices.enumerateDevices()` の呼び出しによって取得できる機器の一覧は、`MediaDeviceInfo` オブジェクトの配列であり、1 つのメディア機器が 1 つに対応します。

インスタンスプロパティ
-----------

`MediaDeviceInfo.deviceId` 読取専用 

文字列で、セッションをまたいで維持される機器を表す識別子を返します。他のアプリケーションからは推測できず、呼び出されたアプリケーションのオリジンで固有のものです。ユーザーがクッキーを消去するとリセットされます（プライベートブラウジングの場合は、セッションをまたいで維持されない異なる識別子を使用します）。

`MediaDeviceInfo.groupId` 読取専用 

文字列で、グループ識別子を返します。2 つの機器が同一のグループ識別子を持つ場合、それらの機器は同一の物理機器に属していることになります。例えば、モニターに内蔵カメラとマイクが付いている場合などです。

`MediaDeviceInfo.kind` 読取専用 

`"videoinput"`、`"audioinput"`、`"audiooutput"` の何れかの列挙値を返します。

`MediaDeviceInfo.label` 読取専用 

この機器を記述する文字列を返します（例えば "External USB Webcam"）。


**メモ:** セキュリティのため、`label` フィールドはアクティブなメディアストリームが存在するか、メディア機器への継続的な権限をユーザーが付与しない限り、常に空欄になります。機器ラベルの組み合わせによって、ユーザーを識別するためのフィンガープリントの一部として利用することができてしまいます。

インスタンスメソッド
----------

`MediaDeviceInfo.toJSON()`

この `MediaDeviceInfo` オブジェクトの JSON 表現を返します。

例
-

ここでは、機器の一覧を取得するために `enumerateDevices()` を使用しています。


```js
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  console.log("enumerateDevices() not supported.");
} else {
  // カメラとマイクを一覧にする。
  navigator.mediaDevices
    .enumerateDevices()
    .then((devices) => {
      devices.forEach((device) => {
        console.log(`${device.kind}: ${device.label} id = ${device.deviceId}`);
      });
    })
    .catch((err) => {
      console.log(`${err.name}: ${err.message}`);
    });
}
```


コンソールには次のように表示されるでしょう。


```bash
videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
```


もしくは、1 つ以上のメディアストリームが有効の場合や、継続的な許可が与えられている場合は、次のように表示されるでしょう。


```bash
videoinput: FaceTime HD Camera (Built-in) id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: default (Built-in Microphone) id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
```

仕様
--

| Specification |
| --- |
| Media Capture and Streams # device-info |

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

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

関連項目
----

* WebRTC API
* `navigator.mediaDevices.enumerateDevices()`
* `navigator.mediaDevices.getUserMedia()`
Console API
===========

Console API（コンソール API）には、開発者がデバッグ作業（メッセージ、コード内の設定点での変数の値、操作の完了にかかった時間などの記録）を実行できるようにする機能が用意されています。

概念と使用方法
-------

Console API は、一貫性のない方法ではありますが、さまざまなブラウザーで実装されている、大部分が独自の API として始まりました。 Console API 仕様は、一貫した振る舞いを定義するために作成されました。 すべての最新のブラウザーは、最終的にこの振る舞いの実装に落ち着きましたが、一部の実装には独自の機能がまだ追加されています。 これらについては、次をご覧ください。

* Google Chrome の開発ツールの実装
* Safari の開発ツールの実装

使用方法は非常に簡単です — `console` オブジェクト — `window.console` またはワーカーの `WorkerGlobalScope.console` を介して利用できます。 `console` のみを使用してアクセスできます — 基本的なデバッグ作業を実行するために呼び出すことができる多くのメソッドが含まれています。 通常は、ブラウザーのウェブコンソールにさまざまな値を記録することに焦点を当てています。

最も一般的に使用されるメソッドは `console.log` で、特定の変数に含まれる現在の値を記録するために使用します。

インターフェイス
--------

`console`

記録、スタックトレース、タイマー、カウンターなどの基本的なデバッグ機能を提供します。

例
-


```js
let myString = "Hello world";

// "Hello world" をコンソールに出力
console.log(myString);
```


その他の例については、`console` のリファレンスページを参照してください。

仕様
--

| Specification |
| --- |
| Console Standard # console-namespace |

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

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

関連情報
----

* 開発ツール
* ウェブコンソール — Firefox のウェブコンソールが Console API の呼び出しを処理する方法
* リモートデバッグ — デバッグ対象がモバイルデバイスである場合のコンソール出力の表示方法
HmacKeyGenParams
================

Web Crypto API の辞書 **`HmacKeyGenParams`** は、HMAC アルゴリズム用の鍵を生成する際に `SubtleCrypto.generateKey()` の引数 `algorithm` として渡すべきオブジェクトを表します。

インスタンスプロパティ
-----------

`name`

文字列。`HMAC` に設定するべきです。

`hash`

使用するダイジェスト関数の名前を表す文字列。`SHA-1`, `SHA-256`, `SHA-384`, `SHA-512` のいずれかを指定できます。

`length` 省略可

`Number`。鍵の長さ (ビット数) を表します。省略された場合、鍵の長さは選択したハッシュ関数のブロックサイズと等しくなります。異なる長さを用いるいい理由が無い限り、このプロパティは省略してデフォルトの値を用いてください。

例
-

`SubtleCrypto.generateKey()` の例を参照してください。

仕様書
---

| Specification |
| --- |
| Web Cryptography API # dfn-HmacKeyGenParams |

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

`SubtleCrypto.generateKey()` メソッドにおいてアルゴリズム "HMAC" をサポートしているブラウザーは、この型をサポートするはずです。

関連情報
----

* `SubtleCrypto.generateKey()`
Response
========

**`Response`** はフェッチ API のインターフェイスで、リクエストのレスポンスを表します。

`Response` オブジェクトは `Response()` コンストラクターを用いて生成することができますが、他の API 操作の結果として返される `Response` オブジェクトに出会う可能性が高いでしょう。例えば、サービスワーカーの `FetchEvent.respondWith` や、単純な `fetch()` などです。

コンストラクター
--------

`Response()`

新しい `Response` オブジェクトを返します。

プロパティ
-----

`Response.body` 読取専用 

本文のコンテンツの `ReadableStream` です。

`Response.bodyUsed` 読取専用 

本文がレスポンスで使用されたかどうかを定義する論理値が格納されます。

`Response.headers` 読取専用 

レスポンスに関連した `Headers` オブジェクトが入ります。

`Response.ok` 読取専用 

レスポンスが成功 (`200`–`299` の範囲のステータス) したか否かを通知する論理値が入ります。

`Response.redirected` 読取専用 

レスポンスがリダイレクトの結果である (つまり、その URL リストには複数のエントリーがある) かどうかを示します。

`Response.status` 読取専用 

このレスポンスのステータスコードを返します (成功ならば `200` になります)。

`Response.statusText` 読取専用 

ステータスコードに対応したステータスメッセージが入ります (たとえば `200` ならば `OK`)。

`Response.trailers`

`Promise` であり、 `Headers` オブジェクトを返します。これは `Response.headers` にある HTTP の `Trailer` (en-US) ヘッダーの値です。

`Response.type` 読取専用 

レスポンスの種類です。 (例えば `basic`, `cors`)

`Response.url` 読取専用 

レスポンスの URL を返します。

メソッド
----

`Response.arrayBuffer()`

レスポンスの本体を表す `ArrayBuffer` で解決するプロミスを返します。

`Response.blob()`

レスポンスの本体を表す `Blob` で解決するプロミスを返します。

`Response.clone()`

`Response` オブジェクトの複製を生成します。

`Response.error()`

ネットワークエラーに関連した新しい `Response` オブジェクトを返します。

`Response.formData()`

レスポンスの本体を表す `FormData` で解決するプロミスを返します。

`Response.json()`

レスポンスの本体のテキストを `JSON` として解釈した結果で解決するプロミスを返します。

`Response.redirect()`

異なる URL で新しいレスポンスを生成します。

`Response.text()`

レスポンスの本体のテキスト表現で解決するプロミスを返します。

例
-

### 画像のフェッチ

basic fetch example (例をライブで実行) では画像を取得するために単純な `fetch()` を使用し、それを `<img>` タグの中に入れて表示しています。`fetch()` を呼び出すとプロミスを返します。これは、このリソースフェッチ操作に関連付けられた `Response` オブジェクトで解決します。

画像をリクエストされているので、レスポンスに正しい MIME タイプを与えるために `Response.blob` を実行する必要があることにお気づきでしょう。


```js
const image = document.querySelector(".my-image");
fetch("flowers.jpg")
  .then((response) => response.blob())
  .then((blob) => {
    const objectURL = URL.createObjectURL(blob);
    image.src = objectURL;
  });
```


`Response()` コンストラクターを使用して、独自の `Response` オブジェクトを生成することもできます。


```js
const response = new Response();
```

### Ajax 呼び出し

ここで JSON 文字列を生成する PHP のプログラムファイルを呼び出し、結果として JSON の値を表示します。簡単なエラー処理も含んでいます。


```js
// Ajax 呼び出しを行う関数
const doAjax = async () => {
  const response = await fetch("Ajax.php"); // Response オブジェクトを生成する
  if (response.ok) {
    const jsonValue = await response.json(); // レスポンスの本体から JSON の値を取得
    return Promise.resolve(jsonValue);
  } else {
    return Promise.reject("\*\*\* PHP file not found");
  }
};

// 関数を呼び出され、値やエラーメッセージをコンソールに出力する
doAjax().then(console.log).catch(console.log);
```

仕様書
---

| Specification |
| --- |
| Fetch Standard # response-class |

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

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

関連情報
----

* サービスワーカー API
* HTTP アクセス制御 (CORS)
* HTTP
NDEFReader
==========

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

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`NDEFReader`** はウェブ NFC APIのインターフェイスで、互換性のある NFC 機器、たとえば NDEF に対応している NFC タグなどがリーダーの磁気誘導範囲にあるときに、これらの機器からデータを読み取ったり、書き込んだりするために使用されます。

EventTarget

NDEFReaderコンストラクター
--------

`NDEFReader()` 
Experimental

新しい `NDEFReader` オブジェクトです。

インスタンスメソッド
----------

*`NDEFReader` インターフェイスは、親インターフェイスである `EventTarget` からメソッドを継承しています。*

`NDEFReader.scan()` 
Experimental

読み取り機器をアクティブにして `Promise` を返します。このプロミスは NFC タグの読み取り操作がスケジュールされたときに解決し、ハードウェアまたは権限のエラーが発生したときは拒否されます。このメソッドは、 "nfc" の権限が事前に許可されていない場合は、許可を問い合わせるプロンプトを起動します。

`NDEFReader.write()` 
Experimental

NDEF メッセージをタグに書き込む操作を行い、 `Promise` を返します。このプロミスは、タグへのメッセージの書き込みが完了した場合は解決し、ハードウェアまたは権限のエラーが発生したときは拒否されます。このメソッドは、 "nfc" の権限が事前に許可されていない場合は、許可を問い合わせるプロンプトを起動します。

イベント
----

*親である `EventTarget` からプロパティを継承しています。*

`reading` 
Experimental

互換性のある NFC 機器から読み取りができるようになったときに発行されます。

`readingerror` 
Experimental

タグが読み取り装置の近くにあるにもかかわらず、読み取れなかった場合に発行されます。

例
-

### 書き込み前の読み取りを扱う

以下の例では、一般的な読み取りハンドラーと、単一の書き込みに特化したハンドラーの間で調整する方法を示しています。書き込みを行うためには、タグを発見し、読み取る必要があります。これにより、実際に書き込みたいタグであるかどうかをチェックすることができます。そのため、読み取りイベントから `write()` を呼び出すことが推奨されます。


```js
const ndef = new NDEFReader();
let ignoreRead = false;

ndef.onreading = (event) => {
  if (ignoreRead) {
    return; // write pending, ignore read.
  }

  console.log("We read a tag, but not during pending write!");
};

function write(data) {
  ignoreRead = true;
  return new Promise((resolve, reject) => {
    ndef.addEventListener(
      "reading",
      (event) => {
        // Check if we want to write to this tag, or reject.
        ndef
          .write(data)
          .then(resolve, reject)
          .finally(() => (ignoreRead = false));
      },
      { once: true },
    );
  });
}

await ndef.scan();
try {
  await write("Hello World");
  console.log("We wrote to a tag!");
} catch (err) {
  console.error("Something went wrong", err);
}
```

仕様書
---

| Specification |
| --- |
| Web NFC API # the-ndefreader-object |

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

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

Sensor APIs の **`GravitySensor`** インターフェイスは、デバイスの 3 軸それぞれにかかっている重力の測定値を提供します。

このセンサーを使用するには、ユーザーが Permissions API により `'accelerometer'` デバイスセンサーを使用する許可を与える必要があります。さらに、この機能はサーバーで設定された Permissions Policy でブロックされる可能性があります。

EventTarget

Sensor

Accelerometer

GravitySensorコンストラクター
--------

`GravitySensor()`

新しい `GravitySensor` オブジェクトを生成します。

インスタンスプロパティ
-----------

*祖先の `Accelerometer`、`Sensor`、`EventTarget` からプロパティを継承しています。*

インスタンスメソッド
----------

*`GravitySensor` には独自のメソッドはありません。しかし、親インターフェイスの `Sensor` および `EventTarget` からメソッドを継承しています。*

イベント
----

*`GravitySensor` には独自のイベントはありません。しかし、親インターフェイスの `Sensor` からイベントを継承しています。*

例
-

重力は通常 `reading` イベントコールバックで取得します。以下の例では、これを 1 秒に 60 回行います。


```js
let gravitySensor = new GravitySensor({ frequency: 60 });

gravitySensor.addEventListener("reading", (e) => {
  console.log(`X 軸方向の重力 ${gravitySensor.x}`);
  console.log(`Y 軸方向の重力 ${gravitySensor.y}`);
  console.log(`Z 軸方向の重力 ${gravitySensor.z}`);
});

gravitySensor.start();
```

仕様書
---

| Specification |
| --- |
| Accelerometer # gravitysensor-interface |

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

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

**`RTCPeerConnectionIceEvent`** インターフェイスは、通常 `RTCPeerConnection`の ICE 候補に関連して発生するイベントを表現します。

この型のイベントは、 `icecandidate` (en-US) の 1 つだけです。

Event

RTCPeerConnectionIceEventインスタンスプロパティ
-----------

*`RTCPeerConnectionIceEvent` は `Event` の一種であり、このイベントはそのプロパティも実装しています。*

`RTCPeerConnectionIceEvent.candidate` 読取専用 

イベントに関連付けられた候補を含む `RTCIceCandidate` (en-US) を格納し、このイベントがこれ以上来る候補がないことを示す場合は `null` を格納します。

コンストラクター
--------

`RTCPeerConnectionIceEvent()`

新しい `RTCPeerConnectionIceEvent` を返します。このコンストラクターは 2 つの引数を持ち、最初の引数はイベントの種類を表す文字列であり、 2 つ目は `RTCIceCandidate` (en-US) を含む辞書です。

インスタンスメソッド
----------

*`RTCPeerConnectionIceEvent` は `Event` の一種であり、このイベントはそのプロパティも実装しています。 `RTCDataChannelEvent` に固有のメソッドはありません。*

例
-


```js
pc.onicecandidate = (ev) => {
  console.log(
    `The ICE candidate (trsp addr: '${ev.candidate.candidate}') added to connection.`,
  );
};
```

仕様書
---

| Specification |
| --- |
| WebRTC: Real-Time Communication in Browsers # rtcpeerconnectioniceevent |

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

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

関連情報
----

* WebRTC
* このイベントの通常ターゲット: `RTCPeerConnection`
CompressionStream
=================

Compression Streams API の **`CompressionStream`** インターフェイスは、データのストリームの圧縮を行う API です。

コンストラクター
--------

`CompressionStream()`

新しい `CompressionStream` を生成します。

インスタンスプロパティ
-----------

`CompressionStream.readable`

このオブジェクトの制御下にある `ReadableStream` のインスタンスを返します。

`CompressionStream.writable`

このオブジェクトの制御下にある `WritableStream` のインスタンスを返します。

例
-

この例では、ストリームを gzip 圧縮を用いて圧縮します。


```js
const compressedReadableStream = inputReadableStream.pipeThrough(
  new CompressionStream("gzip"),
);
```

仕様書
---

| Specification |
| --- |
| Compression Streams # compression-stream |

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

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

**`ClipboardEvent`** インターフェイスは、 クリップボードの変更に関連する情報を提供するイベントを表します。すなわち、`cut`、`copy`、`paste` イベントです。

Event

ClipboardEventコンストラクター
--------

`ClipboardEvent()`

指定した引数で `ClipboardEvent` イベントを生成します。

インスタンスプロパティ
-----------

*親である `Event` から継承したプロパティもあります。*

`ClipboardEvent.clipboardData` 読取専用 

ユーザーが開始した `cut`、`copy`、`paste` 操作によって影響を受けたデータとその MIME タイプを含む `DataTransfer` オブジェクト。

インスタンスメソッド
----------

*固有のメソッドはありません。親である `Event` から継承したメソッドがあります。*

仕様書
---

| Specification |
| --- |
| Clipboard API and events # clipboard-event-interfaces |

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

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

関連情報
----

* Copy 関連イベント： `copy`, `cut`, `paste`
* クリップボード API
* Async Clipboard API demo on Glitch
* Image support for Async Clipboard article
CookieChangeEvent
=================

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

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

「Cookie Store API」の **`CookieChangeEvent`** インターフェイスは、Cookie が何か変更された時 `CookieStore` で発火する `change` イベントのイベント型です。Cookie の変更は、Cookie と種類 (`"changed"` または `"deleted"`) からなります。

`CookieChangeEvent` を発生させる Cookie の変更は、以下のものがあります。

* Cookie が新規作成され、すぐには削除されません。この場合の `type` は `"changed"` です。
* Cookie が新規作成され、すぐに削除されます。この場合の `type` は `"deleted"` です。
* Cookie が削除されます。この場合の `type` は `"deleted"` です。

**メモ:** 同じ名前・ドメイン・パスの他の Cookie が挿入されることにより置き換えられる Cookie は無視され、変更イベントを発生させません。

Event

CookieChangeEventコンストラクター
--------

`CookieChangeEvent()` 
Experimental

新しい `CookieChangeEvent` を生成します。

インスタンスプロパティ
-----------

*このインターフェイスは、`Event` からもプロパティを継承します。*

`CookieChangeEvent.changed` 読取専用  
Experimental

1 個以上の変更された Cookie が格納された配列を返します。

`CookieChangeEvent.deleted` 読取専用  
Experimental

1 個以上の削除された Cookie が格納された配列を返します。

例
-

この例では、Cookie が設定されると、イベントリスナーがイベントをコンソールに記録します。これは今設定されたばかりの Cookie を表すオブジェクトが格納された `changed` プロパティを持つ `CookieChangeEvent` オブジェクトです。


```js
cookieStore.addEventListener("change", (event) => {
  console.log(event);
});

const one_day = 24 \* 60 \* 60 \* 1000;
cookieStore.set({
  name: "cookie1",
  value: "cookie1-value",
  expires: Date.now() + one_day,
  domain: "example.com",
});
```

仕様書
---

| Specification |
| --- |
| Cookie Store API # CookieChangeEvent |

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

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

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

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

Web Bluetooth API の **`BluetoothCharacteristicProperties`** インターフェイスは、指定の `BluetoothRemoteGATTCharacteristic` で有効な操作を提供します。

このインターフェイスは、`BluetoothRemoteGATTCharacteristic.properties` を呼ぶと返されます。

インスタンスプロパティ
-----------

`authenticatedSignedWrites` 読取専用  
Experimental

キャラクタリスティックの値への署名付き書き込みが許可されているならば `true` となる `boolean` 値を返します。

`broadcast` 読取専用  
Experimental

Server Characteristic Configuration Descriptor によりキャラクタリスティックの値のブロードキャストが許可されているならば `true` となる `boolean` 値を返します。

`indicate` 読取専用  
Experimental

キャラクタリスティックの値のアクノリッジメントありのインジケーションが許可されているならば `true` となる `boolean` 値を返します。

`notify` 読取専用  
Experimental

キャラクタリスティックの値のアクノリッジメントなしのノーティフィケーションが許可されているならば `true` となる `boolean` 値を返します。

`read` 読取専用  
Experimental

キャラクタリスティックの値の読み取りが許可されているならば `true` となる `boolean` 値を返します。

`reliableWrite` 読取専用  
Experimental

キャラクタリスティックへの信頼性のある書き込みが許可されているならば `true` となる `boolean` 値を返します。

`writableAuxiliaries` 読取専用  
Experimental

キャラクタリスティックディスクリプターへの信頼性のある書き込みが許可されているならば `true` となる `boolean` 値を返します。

`write` 読取専用  
Experimental

キャラクタリスティックへのレスポンスありの書き込みが許可されているならば `true` となる `boolean` 値を返します。

`writeWithoutResponse` 読取専用  
Experimental

キャラクタリスティックへのレスポンスなしの書き込みが許可されているならば `true` となる `boolean` 値を返します。

例
-

以下の例では、GATT キャラクタリスティックが値の変化の通知に対応しているかを調べる方法を示します。


```js
let device = await navigator.bluetooth.requestDevice({
  filters: [{ services: ["heart\_rate"] }],
});
let gatt = await device.gatt.connect();
let service = await gatt.getPrimaryService("heart\_rate");
let characteristic = await service.getCharacteristic("heart\_rate\_measurement");
if (characteristic.properties.notify) {
  characteristic.addEventListener(
    "characteristicvaluechanged",
    async (event) => {
      console.log(`心拍数測定の受信: ${event.target.value}`);
    },
  );
  await characteristic.startNotifications();
}
```

仕様書
---

| Specification |
| --- |
| Web Bluetooth # characteristicproperties-interface |

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

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

`TextTrack` インターフェイスは — WebVTT (メディア表示上のテキストトラック) を扱う API の一部ですが — 特定の `<track>` 要素に関連付けられたテキストトラックを記述および制御します。

EventTarget

TextTrackインスタンスプロパティ
-----------

*このインターフェイスは `EventTarget` からプロパティを継承しています。*

`TextTrack.activeCues` 読取専用 

現在アクティブなテキストトラックキューのセットをリストする `TextTrackCueList` オブジェクト。メディアの現在の再生位置がキューの開始時間と終了時間の間にある場合、トラックキューはアクティブです。つまり、キャプションや字幕のような表示されるキューでは、アクティブキューが現在表示されているものです。

`TextTrack.cues` 読取専用 

トラックのすべてのキューを含む `TextTrackCueList`。

`TextTrack.id` 読取専用 

トラックがある場合は、それを識別する文字列です。 ID がない場合、この値は空文字列 (`""`) です。 `TextTrack` が `<track>` 要素に関連付けられている場合、トラックの ID は要素の ID と一致します。

`TextTrack.inBandMetadataTrackDispatchType` 読取専用 

文字列で、トラックの帯域内メタデータトラックディスパッチ種別を示します。

`TextTrack.kind` 読取専用 

文字列で、 `TextTrack` が記述するテキストトラックの kind を示します。 値は許可されている値の何れかでなければなりません。

`TextTrack.label` 読取専用 

テキストトラックのラベルがあれば、それを含む人間が読める文字列です。 それ以外の場合、これは空文字列 (`""`) になります。 空文字列の場合、トラックのラベルをユーザーに公開する必要がある場合は、トラックの他の属性を使用してコードでカスタムラベルを生成する必要があります。

`TextTrack.language` 読取専用 

文字列で、テキストトラックの内容が書かれているテキスト言語を指定します。 値は、HTML の `lang` 属性と同じように、 RFC 5646: Tags for Identifying Languages (BCP 47 とも) で指定されている形式に準拠する必要があります。 例えば、米国英語の場合は `"en-US"`、ブラジルポルトガル語の場合は `"pt-BR"` になります。

`TextTrack.mode`

文字列で、トラックの現在のモードを指定します。 このプロパティの値を変更すると、トラックの現在のモードが一致するように変更されます。 許容値はテキストトラックモード定数にリストされています。既定値は `disabled` ですが、 `<track>` 要素の `default` 論理属性が指定されていた場合は、既定のモードは `started` になります。

インスタンスメソッド
----------

*このインターフェイスは `EventTarget` からもメソッドを継承しています。*

**メモ:** `TextTrackCue` インターフェイスは、 `VTTCue` などの他のキューインターフェイスの親クラスとして使用される抽象クラスです。したがって、キューを追加または削除する場合は、`TextTrackCue` を継承するキューの種類のいずれかを入力することになります。

`TextTrack.addCue()`

(`TextTrackCue` オブジェクトとして指定された) キューをトラックのキューのリストに追加します。

`TextTrack.removeCue()`

トラックのキューのリストから (`TextTrackCue` オブジェクトとして指定された) キューを取り除きます。

イベント
----

`cuechange`

 キューが出入りしたときに発生します。 特定のテキストキューは、キューに入ると表示され、キューから出ると消えます。
 `oncuechange` プロパティからも利用できます。


例
-

以下の例は、新しい `TextTrack` を動画に追加し、 `TextTrack.mode` を使用して表示するように設定します。


```js
let video = document.querySelector("video");
let track = video.addTextTrack("captions", "Captions", "en");
track.mode = "showing";
```

仕様書
---

| Specification |
| --- |
| HTML Standard # texttrack |

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

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

関連情報
----

* WebVTT
* `TextTrackCueList`
* `VTTCue`
* `<track>`
* `HTMLTrackElement`
XMLDocument
===========

**XMLDocument** インターフェイスは XML ドキュメントを示します。汎用的な `Document` を継承し、特定のメソッドやプロパティを追加しません: それでも２つのタイプのドキュメントでは、いくつかのアルゴリズムの動作がことなります。

EventTarget

Node

Document

XMLDocumentプロパティ
-----

*また、 `Document` からプロパティを継承します。*

`XMLDocument.async` 
Non-standard

非推奨

`XMLDocument.load()` (en-US) と併用して、非同期リクエストを示します。

メソッド
----

*また、 `Document` からメソッドを継承します。*

`XMLDocument.load()` (en-US) 
Non-standard

非推奨

XML ドキュメントをロードします。

仕様
--

| Specification |
| --- |
| DOM Standard # xmldocument |

ブラウザー実装状況
---------

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

関連項目
----

* The DOM interfaces index.