Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. HID
  4. requestDevice()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

HID: requestDevice() 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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

DierequestDevice() Methode derHID Schnittstelle fordert den Zugriff auf ein HID-Gerät an.

Der Benutzeragent wird einen Berechtigungsdialog präsentieren, der eine Liste der verbundenen Geräte enthält, und den Benutzer bitten, eines dieser Geräte auszuwählen und die Erlaubnis zu erteilen.

Syntax

js
requestDevice(options)

Parameter

options

Ein Objekt, das ein Array von Filterobjekten für mögliche Geräte enthält, mit denen eine Verbindung hergestellt werden soll. Jedes Filterobjekt kann die folgenden Eigenschaften haben:

vendorIdOptional

Eine ganze Zahl, die die vendorId des angeforderten HID-Geräts darstellt.

productIdOptional

Eine ganze Zahl, die die productId des angeforderten HID-Geräts darstellt.

usagePageOptional

Eine ganze Zahl, die die usage page Komponente der HID-Nutzung des angeforderten Geräts darstellt. Die Nutzung für eine Top-Level-Sammlung wird verwendet, um den Gerätetyp zu identifizieren.

Standard-HID-Nutzungswerte sind imHID Usage Tables Dokument zu finden.

usageOptional

Eine ganze Zahl, die die usage ID Komponente der HID-Nutzung des angeforderten Geräts darstellt.

Hinweis:Die Gerätefilter werden verwendet, um die Liste der dem Benutzer angezeigten Geräte einzugrenzen. Wenn keine Filter vorhanden sind, werden alle verbundenen Geräte angezeigt. Wenn ein oder mehrere Filter enthalten sind, wird ein Gerät eingeschlossen, wenn einer der Filter übereinstimmt. Um einen Filter zu erfüllen, müssen alle in diesem Filter enthaltenen Regeln übereinstimmen.

Rückgabewert

EinPromise, das mit einem Array von verbundenenHIDDevice Objekten aufgelöst wird, die den übergebenen Filtern entsprechen.

Ausnahmen

SecurityErrorDOMException

Wird ausgelöst, wenn die Seite keinen Zugriff auf die HID-Funktion erlaubt.

Sicherheit

Transiente Benutzeraktion ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.

Beispiele

Ein Gerät mit allen vier Filterregeln anfordern

Im folgenden Beispiel wird ein HID-Gerät angefordert, das eine Vendor-ID von0xABCD, eine Produkt-ID von0x1234, eine Usage Page0x0C und eine Usage ID0x01 hat. Nur Geräte, die alle diese Regeln erfüllen, werden angezeigt.

js
let requestButton = document.getElementById("request-hid-device");requestButton.addEventListener("click", async () => {  let device;  try {    const devices = await navigator.hid.requestDevice({      filters: [        {          vendorId: 0xabcd,          productId: 0x1234,          usagePage: 0x0c,          usage: 0x01,        },      ],    });    device = devices[0];  } catch (error) {    console.log("An error occurred.");  }  if (!device) {    console.log("No device was selected.");  } else {    console.log(`HID: ${device.productName}`);  }});

Ein Beispiel mit zwei Filtern

Dieses nächste Beispiel enthält zwei Filter. Geräte werden angezeigt, wenn sie einen dieser Filter erfüllen.

js
// Filter on devices with the Nintendo Switch Joy-Con USB Vendor/Product IDs.const filters = [  {    vendorId: 0x057e, // Nintendo Co., Ltd    productId: 0x2006, // Joy-Con Left  },  {    vendorId: 0x057e, // Nintendo Co., Ltd    productId: 0x2007, // Joy-Con Right  },];// Prompt user to select a Joy-Con device.const [device] = await navigator.hid.requestDevice({ filters });

Spezifikationen

Specification
WebHID API
# dom-hid-requestdevice

Browser-Kompatibilität

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp