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

View in English Always switch to English

Serial

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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

Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.

Das Serial-Interface der Web Serial API bietet Attribute und Methoden zum Auffinden und Verbinden mit seriellen Ports von einer Webseite aus.

EventTarget Serial

Instanzmethoden

Serial.requestPort()

Gibt ein Promise zurück, das mit einer Instanz von SerialPort aufgelöst wird, die das vom Benutzer gewählte Gerät darstellt. Diese Methode muss über eine transiente Aktivierung aufgerufen werden.

Serial.getPorts()

Gibt ein Promise zurück, das mit einem Array von SerialPort-Objekten aufgelöst wird, die serielle Ports repräsentieren, die mit dem Host verbunden sind und auf die der Ursprung zugreifen darf.

Ereignisse

Die folgenden Ereignisse sind Serial durch Ereignisweiterleitung von SerialPort verfügbar:

SerialPort connect Ereignis

Ein Ereignis, das ausgelöst wird, wenn ein Port mit dem Gerät verbunden wurde.

SerialPort disconnect Ereignis

Ein Ereignis, das ausgelöst wird, wenn ein Port vom Gerät getrennt wurde.

Beispiele

Das folgende Beispiel zeigt, wie eine Website nach verfügbaren Ports suchen und dem Benutzer erlauben kann, ihr Zugriff auf zusätzliche Ports zu gewähren.

Beim Laden werden Ereignislistener für die connect und disconnect Ereignisse hinzugefügt, damit die Website reagiert, wenn ein Gerät mit dem System verbunden oder davon getrennt wird. Die Methode getPorts() wird dann aufgerufen, um zu sehen, welche Ports verbunden sind, auf die die Website bereits Zugriff hat.

Wenn die Website keinen Zugriff auf verbundene Ports hat, muss sie warten, bis sie eine Benutzeraktivierung erhält, um fortzufahren. In diesem Beispiel verwenden wir einen click Ereignis-Handler auf einem Button für diese Aufgabe. Ein Filter wird an requestPort() mit einer USB-Hersteller-ID übergeben, um die angezeigte Geräteliste auf nur USB-Geräte eines bestimmten Herstellers zu beschränken.

js
navigator.serial.addEventListener("connect", (e) => {
  // Connect to `e.target` or add it to a list of available ports.
});

navigator.serial.addEventListener("disconnect", (e) => {
  // Remove `e.target` from the list of available ports.
});

navigator.serial.getPorts().then((ports) => {
  // Initialize the list of available ports with `ports` on page load.
});

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

Spezifikation
Web Serial API
# serial-interface

Browser-Kompatibilität