Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
USB: requestDevice() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
DierequestDevice() Methode desUSB-Interfaces gibt einPromise zurück, das mit einer Instanz vonUSBDevice aufgelöst wird, wenn das angegebene Gerät gefunden wird. Das Aufrufen dieser Funktion löst den Kopplungsablauf des Benutzeragents aus.
In diesem Artikel
Syntax
requestDevice(options)Parameter
optionsEin Objekt, das Optionen zum Auswählen eines geeigneten Geräts festlegt. Die verfügbaren Optionen sind:
filtersEin Array von Filterobjekten für mögliche Geräte, die Sie koppeln möchten. Jedes Filterobjekt kann die folgenden Eigenschaften haben:
vendorIdproductIdclassCodesubclassCodeprotocolCodeserialNumber
Rückgabewert
EinPromise, das mit einer Instanz vonUSBDevice aufgelöst wird.
Sicherheit
Transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.
Beispiele
Im folgenden Beispiel wird nach einem von zwei USB-Geräten gesucht. Beachten Sie, dass zwei Produkt-IDs angegeben sind. Beide werden anrequestDevice() übergeben. Dies löst einen Benutzeragentenablauf aus, der den Benutzer auffordert, ein Gerät zur Kopplung auszuwählen. Nur das ausgewählte Gerät wird anthen() übergeben.
Die Anzahl der Filter bestimmt nicht die Anzahl der vom Benutzeragenten angezeigten Geräte. Zum Beispiel, wenn nur ein USB-Gerät mit der Produkt-ID0xa800 gefunden wird, dann wird nur ein Gerät vom Benutzeragenten aufgelistet. Andererseits, wenn der Benutzeragent zwei Geräte des ersten gelisteten und eines des zweiten findet, dann werden alle drei Geräte aufgelistet.
const filters = [ { vendorId: 0x1209, productId: 0xa800 }, { vendorId: 0x1209, productId: 0xa850 },];navigator.usb .requestDevice({ filters }) .then((usbDevice) => { console.log(`Product name: ${usbDevice.productName}`); }) .catch((e) => { console.error(`There is no device. ${e}`); });Spezifikationen
| Specification |
|---|
| WebUSB API> # dom-usb-requestdevice> |