Serial.requestPort()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
Serial
インターフェイスの Serial.requestPort()
メソッドは、ユーザーが選んだデバイスを表す SerialPort
のインスタンスで解決するか、デバイスが選択されなかった場合は拒否される Promise
を返します。
構文
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 デバイスのみに絞り込んでいます。フィルターが省略された場合、ユーザーは利用可能なすべてのポートから選択できます。
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