DOM

Serialインターフェイス

requestPort メソッド

  編集:2022.03.10 by T.A.

MS(en)

安全なコンテキスト:この機能は、セキュアコンテキスト(HTTPS)でのみ使用できます。一部またはすべてのサポート ブラウザーで。

ユーザーが選択したデバイスを表す SerialPort のインスタンスで解決するか、デバイスが選択されていない場合は拒否する Promiseを 返します。

構文
promise= Serial.requestPort([options])
Serial Serial
options 次のプロパティを持つオブジェクト:
filters 接続されたデバイスの検索に使用されるベンダーIDと製品IDを含むオブジェクトのリスト。USB 実装者フォーラムは、特定の企業に ID を割り当てます。各企業は、自社の製品に IDS を割り当てています。フィルタには次の値が含まれています。
usbVendorId USBデバイスベンダーを識別する符号なし short integer。
usbProductId USBデバイスを識別する符号なし short integer。
戻り値

SerialPort のインスタンスで解決するPromise

例外
"SecurityError"/DOMException
機能ポリシーがこのAPIの使用を制限している場合、またはユーザー ジェスチャを介して使用する権限が付与されていない場合、返されたPromiseはこのエラーで拒否します。
"AbortError"/DOMException
プロンプトが表示されたときにユーザーがポートを選択しない場合、返されたPromiseはこれを拒否します。

次の例は、ユーザーに表示されるデバイスのセットを特定のメーカーによって製造されたUSBデバイスのみに制限するために、USBベンダーIDを使用して requestPort() に渡されるフィルターを示しています。このフィルターを省略した場合、ユーザーは使用可能なポートを選択できます。

button.addEventListener('click', () => {
  const usbVendorId = ...;
  navigator.serial.requestPort({ filters: [{ usbVendorId }]}).then((port) => {
    // Connect to `port` or add it to the list of available ports.
  }).catch((e) => {
    // The user didn't select a port.
  });
});

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: