recursal/MDN huggingface dataset:
KeyboardEvent: repeat プロパティ
===========================

**`repeat`** は `KeyboardEvent` インターフェイスの読み取り専用プロパティで、 このキーが押しっぱなしになって自動反復している場合、 `true` の論理値を返します。

値
-

論理値です。

仕様書
---

| Specification |
| --- |
| UI Events # dom-keyboardevent-repeat |

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

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

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

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

非推奨の **`KeyboardEvent.keyIdentifier`** は読み取り専用のプロパティで、どのキーが押されたかを特定することができる「キー識別子」文字列を返します。非推奨でない置き替え先は `KeyboardEvent.key` です。

仕様書
---

*現在の仕様書には含まれていません。* このプロパティは DOM Level 3 Events 仕様書の古い草稿に含まれていましたが、後の草稿で取り除かれ、 `KeyboardEvent.key` に置き換えられました。

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

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

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

**`code`** は `XPathException` インターフェイスの読み取り専用プロパティで、いずれかのエラーコード定数を表す `short` を返します。

値
-

エラーコードを表す `short` 数です。

仕様書
---

#### No specification found

No specification data found for `api.XPathException.code`.  
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.
Serial.requestPort()
====================

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

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

`Serial` インターフェイスの **`Serial.requestPort()`** メソッドは、ユーザーが選んだデバイスを表す `SerialPort` のインスタンスで解決するか、デバイスが選択されなかった場合は拒否される `Promise` を返します。

構文
--


```js
requestPort()
requestPort(options)
```

### 引数

`options`

以下のプロパティを持つオブジェクトです。

`filters`

接続されたデバイスの探索に使用するベンダー ID とプロダクト ID を格納したオブジェクトのリストです。USB Implementors Forum が特定の会社に ID を割り当てます。それぞれの会社がその製品に ID を割り当てます。フィルターは以下の値を含みます。

`usbVendorId`

USB デバイスの製造元を特定する `unsigned short` の整数です。

`usbProductId`

USB デバイスを特定する `unsigned short` の整数です。


### 返値

`SerialPort` のインスタンスで解決する `Promise` を返します。

### 例外

`SecurityError` `DOMException`

Feature Policy でこの API の使用が制限されていたり、ユーザーの操作によって API の使用が許可されていないとき、返された `Promise` がこのエラーで拒否されます。

`AbortError` `DOMException`

ユーザーが要求に応じてポートを選択しなかったとき、返された `Promise` がこのエラーで拒否されます。

例
-

この例では、`requestPort()` に USB ベンダー ID を入れたフィルターを渡し、ユーザーに提示するデバイスのリストを特定の製造元によって作られた USB デバイスのみに絞り込んでいます。フィルターが省略された場合、ユーザーは利用可能なすべてのポートから選択できます。


```js
button.addEventListener("click", () => {
  const usbVendorId = 0xabcd;
  navigator.serial
    .requestPort({ filters: [{ usbVendorId }] })
    .then((port) => {
      // `port` に接続する、すなわち利用可能なポートのリストに加えます。
    })
    .catch((e) => {
      // ユーザーがポートを選択しませんでした。
    });
});
```

仕様書
---

| Specification |
| --- |
| Web Serial API # dom-serial-requestport |

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

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

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

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

`Serial` インターフェイスの **`getPorts()`** メソッドは、接続されており、かつオリジンにアクセス許可があるシリアルポートを表す `SerialPort` の配列で解決する `Promise` を返します。

構文
--


```js
getPorts()
```

### 引数

なし。

### 返値

`SerialPort` オブジェクトの配列で解決する `Promise` を返します。

### 例外

`SecurityError` `DOMException`

Feature Policy でこの API の使用が制限されていたり、ユーザーの操作によって API の使用が許可されていないとき、返された `Promise` がこのエラーで拒否されます。

例
-

この例では、`getPorts()` を用いて利用可能なポートのリストを初期化します。


```js
navigator.serial.getPorts().then((ports) => {
  // ページの読み込み時、`ports` を用いて利用可能なポートのリストを初期化します。
});
```

仕様書
---

| Specification |
| --- |
| Web Serial API # dom-serial-getports |

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

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

`IDBRequest` インターフェイスの読み取り専用プロパティ **`transaction`** は、要求のトランザクション、すなわちこの要求がその中で生成されたトランザクションを返します。

このプロパティは、`IDBFactory.open` が返した要求 (データベースに接続するだけなので、返すべきトランザクションが存在しない) など、トランザクション内で生成されていない要求では `null` になり得ます。データベースを開くときにバージョンの更新が必要な場合は、`upgradeneeded` イベントハンドラーの実行中、**`transaction`** プロパティは `mode` が `"versionchange"` と等しい `IDBTransaction` となり、既存のオブジェクトストアやインデックスにアクセスしたり、更新を中止したりするのに使用できます。更新の後は、**`transaction`** プロパティは再び `null` になるでしょう。

**注:** この機能は Web Worker 内で利用可能です

値
-

`IDBTransaction` です。

例
-

以下の例では、指定のタイトルのレコードを要求し、`onsuccess` で `IDBObjectStore` から (`objectStoreTitleRequest.result` として参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードを別の要求でオブジェクトストアに書き戻します。要求元を開発者コンソールに記録します。両方とも同じトランザクションに由来しています。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)


```js
const title = "Walk dog";

// 通常通りトランザクションを開始します
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// 指定の title をタイトルとして持つ TO-DO リストのオブジェクトを取得します
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // result として返されたデータオブジェクトを取得します
  const data = objectStoreTitleRequest.result;

  // オブジェクトの notified の値を "yes" に更新します
  data.notified = "yes";

  // アイテムをデータベースに書き戻す別の要求を生成します
  const updateTitleRequest = objectStore.put(data);

  // この要求が由来するトランザクションを記録します
  console.log(
    `この要求が由来するトランザクションは ${updateTitleRequest.transaction} です`,
  );

  // 新しい要求が成功したら、また displayData() 関数を
  // 実行し、表示を更新します
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};
```


この例では、**`transaction`** プロパティをバージョンの更新中に既存のオブジェクトストアへアクセスするのに使う方法を示します。


```js
const openRequest = indexedDB.open("db", 2);
console.log(openRequest.transaction); // "null" が記録されるはずです

openRequest.onupgradeneeded = (event) => {
  console.log(openRequest.transaction.mode); // "versionchange" が記録されるはずです
  const db = openRequest.result;
  if (event.oldVersion < 1) {
    // 新規データベースなので、オブジェクトストア "books" を作成します。
    db.createObjectStore("books");
  }
  if (event.oldVersion < 2) {
    // v1 データベースからの更新です。オブジェクトストア "books" の "title" にインデックスを追加します。
    const bookStore = openRequest.transaction.objectStore("books");
    bookStore.createIndex("by\_title", "title");
  }
};

openRequest.onsuccess = () => {
  console.log(openRequest.transaction); // "null" が記録されるはずです
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-transaction① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBRequest.result
=================

`IDBRequest` インターフェイスの読み取り専用プロパティ **`result`** は、要求の結果を返します。要求が完了していない場合、結果は参照できず、`InvalidStateError` 例外が投げられます。

**注:** この機能は Web Worker 内で利用可能です

値
-

任意

例
-

この例では、タイトルを指定してレコードを要求し、`onsuccess` で `IDBObjectStore` から (`objectStoreTitleRequest.result` として参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードをオブジェクトストアに書き戻します。動く例全体は、To-do Notifications を参照してください。(動く例を見る)


```js
const title = "Walk dog";

// 通常通りトランザクションを開始します
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// この title をタイトルとして持つ TO-DO リストのオブジェクトを取得します
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // result として返されたデータオブジェクトを取得します
  const data = objectStoreTitleRequest.result;

  // オブジェクトの notified の値を "yes" に更新します
  data.notified = "yes";

  // アイテムをデータベースに書き戻す別のリクエストを生成します
  const updateTitleRequest = objectStore.put(data);

  // 新しいリクエストが成功したら、また displayData() 関数を
  // 実行し、表示を更新します
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-result① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBRequest.error
================

`IDBRequest` インターフェイスの読み取り専用プロパティ **`error`** は、要求が失敗したときエラーを返します。

**注:** この機能は Web Worker 内で利用可能です

値
-

`DOMException`、もしくはエラーがないときは `null` です。例外オブジェクトでは、以下のエラー名が返されます。

`AbortError`

トランザクションをアボートすると、進行中の全ての要求がこのエラーとなります。

`ConstraintError`

制約を満たさないデータを追加しようとしたことを示します。これはデータストアやインデックスの作成用の例外タイプです。例えば、既に存在するキーを追加しようとすると、このエラーになります。

`QuotaExceededError`

割り当てられたディスク領域を使い切り、ユーザーが容量の追加を拒否したことを示します。

`UnknownError`

データベース自体とは関係ない理由により操作が失敗したことを示します。たとえば、ディスクの I/O エラーによる失敗が該当します。

`VersionError`

データベースの現在のバージョンより低いバージョンでデータベースを開こうとしたことを示します。

`IDBRequest` オブジェクトに送られるエラーコードに加え、非同期の操作も例外を発生させる可能性があります。この表は要求の実行中に起こりうる問題を説明していますが、要求を生成するときに他の問題が発生する可能性もあります。たとえば、要求がまだ完了していないときに結果にアクセスすると、`InvalidStateError` 例外が投げられます。

例
-

以下の例では、レコードのタイトルを指定して要求し、`onsuccess` で `IDBObjectStore` から (`objectStoreTitleRequest.result` で参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードをオブジェクトストアに書き戻します。また、最後には要求が失敗した場合に発生したエラーを報告する `onerror` 関数もあります。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)


```js
const title = "Walk dog";

// 通常通りトランザクションを開始します
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// 指定したタイトルの TO-DO リストを取得します
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // result として返されたデータオブジェクトを取得します
  const data = objectStoreTitleRequest.result;

  // オブジェクトの notified の値を "yes" に更新します
  data.notified = "yes";

  // アイテムをデータベースに書き戻すための新たな要求を生成します
  const updateTitleRequest = objectStore.put(data);

  // この新たな要求が成功したら、再び displayData() 関数を
  // 実行し、表示を更新します
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};

objectStoreTitleRequest.onerror = () => {
  // 要求でエラーが発生したら、発生したエラーを記録します
  console.log(
    `データの取得中にエラーが発生しました: ${objectStoreTitleRequest.error}`,
  );
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-error① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBRequest.readyState
=====================

`IDBRequest` インターフェイスの読み取り専用プロパティ **`readyState`** は、要求の状態を返します。

すべての要求は、最初は `pending` 状態です。要求が正常に完了するか、エラーが発生すると、状態が `done` に変わります。

**注:** この機能は Web Worker 内で利用可能です

値
-

以下の文字列のいずれかです。

`pending`

要求がまだ実行中のとき返ります。

`done`

要求が完了済のとき返ります。

例
-

以下の例では、タイトルを指定してレコードを要求します。`onsuccess` で、`IDBObjectStore` から (`objectStoreTitleRequest.result` として参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードを別の要求でオブジェクトストアに書き戻します。2 番目の要求の `readyState` を開発者コンソールに記録します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)


```js
const title = "Walk dog";

// 通常通りトランザクションを開始します
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// 指定の title をタイトルとして持つ TO-DO リストのオブジェクトを取得します
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // result として返されたデータオブジェクトを取得します
  const data = objectStoreTitleRequest.result;

  // オブジェクトの notified の値を "yes" に更新します
  data.notified = "yes";

  // アイテムをデータベースに書き戻す別の要求を生成します
  const updateTitleRequest = objectStore.put(data);

  // 要求の readyState を記録します
  console.log(`この要求の readyState は ${updateTitleRequest.readyState} です`);

  // 新しい要求が成功したら、また displayData() 関数を
  // 実行し、表示を更新します
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-readystate① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBRequest.source
=================

`IDBRequest` インターフェイスの読み取り専用プロパティ **`source`** は、要求元 (インデックスやオブジェクトストアなど) を返します。(`IDBFactory.open` を呼んだときなど) 要求元が存在しない場合、`null` を返します。

**注:** この機能は Web Worker 内で利用可能です

値
-

`IDBIndex`、`IDBObjectStore`、`IDBCursor` などの、要求元を表すオブジェクトです。

例
-

以下の例では、タイトルを指定してレコードを要求し、`onsuccess` で `IDBObjectStore` から (`objectStoreTitleRequest.result` として参照できるようになった) 対応するレコードを取得し、レコードのプロパティ 1 個を更新し、更新したレコードを別の要求でオブジェクトストアに書き戻します。2 番目の要求の要求元が、開発者コンソールに記録されます。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)


```js
const title = "Walk dog";

// 通常通りトランザクションを開始します
const objectStore = db
  .transaction(["toDoList"], "readwrite")
  .objectStore("toDoList");

// 指定した title をタイトルとして持つ TO-DO リストのオブジェクトを取得します
const objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = () => {
  // result として返されたデータオブジェクトを取得します
  const data = objectStoreTitleRequest.result;

  // オブジェクトの notified の値を "yes" に更新します
  data.notified = "yes";

  // アイテムをデータベースに書き戻す別の要求を生成します
  const updateTitleRequest = objectStore.put(data);

  // この要求の要求元を記録します
  console.log(`この要求の要求元は ${updateTitleRequest.source} です`);
  // 新しい要求が成功したら、また displayData() 関数を
  // 実行し、表示を更新します
  updateTitleRequest.onsuccess = () => {
    displayData();
  };
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbrequest-source① |

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

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

関連情報
----

* IndexedDB の使用
* トランザクションの開始: `IDBDatabase`
* トランザクションの使用: `IDBTransaction`
* キーの範囲の設定: `IDBKeyRange`
* データの取得と変更: `IDBObjectStore`
* カーソルの使用: `IDBCursor`
* リファレンス例: To-do Notifications (動く例を見る)
IDBRequest: success イベント
========================

`success` イベントは `IDBRequest` が成功すると発生します。

|  |  |
| --- | --- |
| バブリングする | いいえ |
| キャンセル可能 | いいえ |
| インターフェイス | `Event` |
| イベントハンドラープロパティ | `onsuccess` |

例
-

この例では、データベースをオープンします。その `success` イベントを `addEventListener()` でリッスンします。


```js
// データベースをオープンする
const openRequest = window.indexedDB.open("toDoList", 4);

openRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  db.onerror = () => {
    console.log("データベースの作成中にエラー発生");
  };

  // オブジェクトストアを作成する
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });

  // オブジェクトストアが保有するデータを定義する
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

openRequest.addEventListener("success", (event) => {
  console.log("データベースを正常に開きました！");
});
```


下記は同じことを `onsuccess` イベントハンドラープロパティを使用した例です。


```js
// データベースをオープンする
const openRequest = window.indexedDB.open("toDoList", 4);

openRequest.onupgradeneeded = (event) => {
  const db = event.target.result;

  db.onerror = () => {
    console.log("データベースの作成中にエラー発生");
  };

  // オブジェクトストアを作成する
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });

  // オブジェクトストアが保有するデータを定義する
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });
};

openRequest.onsuccess = (event) => {
  console.log("データベースを正常に開きました!");
};
```

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

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

関連情報
----

* IndexedDB の使用
* `onsuccess` イベントハンドラープロパティ
MediaElementAudioSourceNode: MediaElementAudioSourceNode() コンストラクター
===================================================================

**`MediaElementAudioSourceNode()`** コンストラクターは、新しい `MediaElementAudioSourceNode` オブジェクトのインスタンスを生成します。

構文
--


```js
new MediaElementAudioSourceNode(context, options)
```

### 引数

`context`

このノードを関連付ける音声コンテキストを表す `AudioContext` です。

`options`

`MediaElementAudioSourceNode` が持つ性質を定義するオブジェクトです。

`mediaElement`

音声の音源として用いる `HTMLMediaElement` です。

`channelCount`

このノードへの入力のアップミキシングとダウンミキシングを行う際に用いるチャンネルの数を決める整数です。(詳細は `AudioNode.channelCount` を参照してください) 使用法と正確な定義は `channelCountMode` の値によります。

`channelCountMode`

ノードの入力と出力のチャンネルを対応させる方法を表す文字列です。(デフォルト値を含む詳細は `AudioNode.channelCountMode` を参照してください)

`channelInterpretation`

チャンネルの意味を表す文字列です。この解釈は、アップミキシングとダウンミキシングを行う方法を決めます。取りうる値は `"speakers"` および `"discrete"` です。(デフォルト値を含む詳細は `AudioNode.channelInterpretation` を参照してください)


### 返値

新しい `MediaElementAudioSourceNode` オブジェクトのインスタンスです。

例
-


```js
const ac = new AudioContext();
const mediaElement = document.createElement("audio");

const myAudioSource = new MediaElementAudioSourceNode(ac, {
  mediaElement,
});
```

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-mediaelementaudiosourcenode-mediaelementaudiosourcenode |

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

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

`MediaElementAudioSourceNode` インターフェイスの読み取り専用プロパティ **`mediaElement`** は、このノードが音声を受け取る元の音声トラックを持つ `HTMLMediaElement` を示します。

このストリームは、`MediaElementAudioSourceNode()` コンストラクターまたは `AudioContext.createMediaElementSource()` メソッドのいずれかによりこのノードが最初に生成された時に指定されました。

値
-

このノードの音声の音源を持つ要素を表す `HTMLMediaElement` です。

例
-


```js
const audioCtx = new window.AudioContext();
const audioElem = document.querySelector("audio");

let options = {
  mediaElement: audioElem,
};

let source = new MediaElementAudioSourceNode(audioCtx, options);
console.log(source.mediaElement);
```

仕様書
---

| Specification |
| --- |
| Web Audio API # dom-mediaelementaudiosourcenode-mediaelement |

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

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

**`target`** は `ProcessingInstruction` インターフェイスの読み取り専用プロパティで、 `ProcessingInstruction` が対象とするアプリケーションを表します。

例えば次のようなものです。


```html
<?xml version="1.0"?>
```


この場合、処理命令の `target` は `xml` です。

値
-

アプリケーションの名前が入った文字列です。

例
-

### XML 文書内で
```

<output></output>
```



```js
let parser = new DOMParser();
const doc = parser.parseFromString(
  '<?xml version="1.0"?><test/>',
  "application/xml",
);
const pi = doc.createProcessingInstruction(
  "xml-stylesheet",
  'href="mycss.css" type="text/css"',
);
doc.insertBefore(pi, doc.firstChild);

const output = document.querySelector("output");
output.textContent = `この処理命令のターゲット: ${doc.firstChild.target}`;
```

### HTML 文書内で

処理命令の行は `Comment` オブジェクトと見なされ、表現されます。


```html
<?xml version="1.0"?>
<pre></pre>
```



```js
const node = document.querySelector("pre").previousSibling.previousSibling;
const result = `この処理命令のノード: ${node.nodeName}: ${node.nodeValue}\n`;
document.querySelector("pre").textContent = result;
```

仕様書
---

| Specification |
| --- |
| DOM Standard # dom-processinginstruction-target |

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

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

関連情報
----

* DOM API
ProcessingInstruction: sheet プロパティ
==================================

**`sheet`** は `ProcessingInstruction` インターフェイスの読み取り専用プロパティで、 `ProcessingInstruction` に関連付けられたスタイルシートを保持します。

処理命令 `xml-stylesheet` は XML ファイル内でスタイルシートを関連付けるために使用されます。

値
-

関連する `Stylesheet` オブジェクト、または存在しない場合は `null` です。

例
-


```html
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="rule.css"?>
<!-- … -->
```


この処理命令の `sheet` プロパティは `StyleSheet` オブジェクトで、`rule.css` を示します。

仕様書
---

| Specification |
| --- |
| CSS Object Model (CSSOM) # dom-linkstyle-sheet |

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

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

関連情報
----

* DOM API
SourceBuffer.updating
=====================

**`updating`** は `SourceBuffer` インターフェイスの読み取り専用プロパティで、`SourceBuffer` が現在更新されているかどうか、つまり `SourceBuffer.appendBuffer()`、`SourceBuffer.appendStream()`、または `SourceBuffer.remove()` の操作が現在進行中かどうかを示します。

値
-

論理値です。

例
-

TBD

仕様書
---

| Specification |
| --- |
| Media Source Extensions™ # dom-sourcebuffer-updating |

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

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

関連情報
----

* `MediaSource`
* `SourceBufferList`
SourceBuffer.appendBufferAsync()
================================

**非標準:** この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

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

**`appendBufferAsync()`** は `SourceBuffer` インターフェイスのメソッドで、`ArrayBuffer`、`TypedArray`、`DataView` のいずれかのオブジェクトから `SourceBuffer` にメディアセグメントデータを非同期的に追加するプロセスを開始します。 バッファーが追加されると履行される `Promise` を返します。

構文
--


```js
appendBufferAsync(source)
```

### 引数

`source`

`ArrayBuffer`、`TypedArray`、`DataView` のいずれかのオブジェクトで、 `SourceBuffer` に追加するメディアセグメントデータが入ったもの。

### 返値

バッファーが `SourceBuffer` に正常に追加されたときに履行される `Promise`、または要求を開始できなかった場合は `null`。

例
-

この単純化された非同期関数の例 `fillSourceBuffer()` は、入力引数 `buffer` として`ArrayBuffer`、`TypedArray`、`DataView` のいずれかのオブジェクトと、そのバッファーからソースメディアを追加する `SourceBuffer` を受け取ります。


```js
async function fillSourceBuffer(buffer, msBuffer) {
  try {
    while (true) {
      await msBuffer.appendBufferAsync(buffer);
    }
  } catch (e) {
    handleException(e);
  }
}
```

仕様書
---

この機能は、どの仕様にも属しません。標準化の予定もありません。

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

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

関連情報
----

* メディアソース拡張 API
* `SourceBuffer.appendBuffer()`
* `MediaSource`
* `SourceBufferList`
SourceBuffer.appendWindowEnd
============================

**`appendWindowEnd`** は `SourceBuffer` インターフェイスのプロパティで、追加ウィンドウ（append window）の終わりのタイムスタンプを制御します。 タイムスタンプの範囲は、`SourceBuffer` に追加されるメディアデータをフィルターするために使用できます。 この範囲内のタイムスタンプを持つコード化されたメディアフレームは追加されますが、範囲外のものは除外されます。

`appendWindowEnd` の既定値は正の無限大です。

値
-

double 型で、追加ウィンドウの終了時間を秒単位で示します。

### 例外

このプロパティに新しい値を設定すると、次の例外が発生する場合があります。

`InvalidAccessError` `DOMException`

値を `SourceBuffer.appendWindowStart` 以下、または `NaN` に設定しようとした場合に発生します。

`InvalidStateError` `DOMException`

この `SourceBuffer` オブジェクトが更新中（つまり、その `SourceBuffer.updating` プロパティが現在 `true`）であるか、この `SourceBuffer` が `MediaSource` から取り除かれていた場合に発生します。

例
-

TBD

仕様書
---

| Specification |
| --- |
| Media Source Extensions™ # dom-sourcebuffer-appendwindowend |

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

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

関連情報
----

* `MediaSource`
* `SourceBufferList`
SourceBuffer.timestampOffset
============================

**`timestampOffset`** は `SourceBuffer` インターフェイスのプロパティで、`SourceBuffer` に追加されるメディアセグメント内のタイムスタンプに適用されるオフセットを制御します。

`timestampOffset` の初期値は 0 です。

値
-

double 型で、秒単位のオフセット量です。

### 例外

このプロパティに新しい値を設定すると、次の例外が発生する場合があります。

`InvalidStateError` `DOMException`

`MediaSource.sourceBuffers` に含まれる `SourceBuffer` オブジェクトの 1 つ以上が更新中（つまり、`SourceBuffer.updating` プロパティが現在 `true`）、`SourceBuffer` 内のメディアセグメントが現在解析中、またはこの `SourceBuffer` が `MediaSource` から取り除かれていた場合に発生します。

例
-

TBD

仕様書
---

| Specification |
| --- |
| Media Source Extensions™ # dom-sourcebuffer-timestampoffset |

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

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

関連情報
----

* `MediaSource`
* `SourceBufferList`