Serial: requestPort()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die Serial.requestPort()-Methode der Serial-Schnittstelle gibt ein Promise zurück, das mit einer Instanz von SerialPort aufgelöst wird, die das vom Benutzer ausgewählte Gerät darstellt, oder abgelehnt wird, wenn kein Gerät ausgewählt wurde.

Syntax

js
requestPort()
requestPort(options)

Parameter

options

Ein Objekt mit den folgenden Eigenschaften:

filters

Eine Liste von Objekten, die Hersteller- und Produkt-IDs enthalten, die verwendet werden, um nach angeschlossenen Geräten zu suchen. Das USB Implementors Forum weist bestimmten Unternehmen IDs zu. Jedes Unternehmen weist seinen Produkten IDs zu. Filter enthalten die folgenden Werte:

usbVendorId

Eine kurze ganze Zahl ohne Vorzeichen, die einen USB-Gerätehersteller identifiziert.

usbProductId

Eine kurze ganze Zahl ohne Vorzeichen, die ein USB-Gerät identifiziert.

Rückgabewert

Ein Promise, das mit einer Instanz von SerialPort aufgelöst wird.

Ausnahmen

SecurityError DOMException

Das zurückgegebene Promise wird mit diesem Fehler abgelehnt, wenn eine Berechtigungsrichtlinie die Nutzung dieser Funktion blockiert oder eine Benutzerberechtigung verweigert wurde.

NotFoundError DOMException

Das zurückgegebene Promise wird abgelehnt, wenn der Benutzer bei der Aufforderung keinen Port auswählt.

Sicherheit

Es ist eine vorübergehende Aktivierung erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.

Beispiele

Das folgende Beispiel zeigt einen Filter, der an requestPort() mit einer USB-Hersteller-ID übergeben wird, um die vom Benutzer angezeigte Menge an Geräten auf nur USB-Geräte eines bestimmten Herstellers zu beschränken. Wenn dieser Filter weggelassen würde, könnte der Benutzer jeden verfügbaren Port auswählen.

js
button.addEventListener("click", () => {
  const usbVendorId = 0xabcd;
  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.
    });
});

Spezifikationen

Specification
Web Serial API
# dom-serial-requestport

Browser-Kompatibilität

BCD tables only load in the browser