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
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.
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