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 を返します。
例外
SecurityErrorDOMException-
Feature Policy でこの API の使用が制限されていたり、ユーザーの操作によって API の使用が許可されていないとき、返された
Promiseがこのエラーで拒否されます。 AbortErrorDOMException-
ユーザーが要求に応じてポートを選択しなかったとき、返された
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