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 stellt Attribute und Methoden zur Verfügung, um serielle Ports von einer Webseite zu finden und zu verbinden.
Instanzmethoden
Serial.requestPort()-
Gibt ein
Promisezurück, das mit einer Instanz vonSerialPortaufgelöst wird, die das vom Benutzer gewählte Gerät repräsentiert. Diese Methode muss durch transiente Aktivierung aufgerufen werden. Serial.getPorts()-
Gibt ein
Promisezurück, das mit einem Array vonSerialPort-Objekten aufgelöst wird, die die seriellen Ports repräsentieren, die mit dem Host verbunden sind und auf die der Ursprung Zugriff hat.
Ereignisse
Die folgenden Ereignisse sind für Serial durch Event-Bubbling von SerialPort verfügbar:
SerialPortconnect-Ereignis-
Ein Ereignis, das ausgelöst wird, wenn ein Port mit dem Gerät verbunden wurde.
SerialPortdisconnect-Ereignis-
Ein Ereignis, das ausgelöst wird, wenn ein Port vom Gerät getrennt wurde.
Beispiele
>Grundlegende Verwendung
Das folgende Beispiel zeigt, wie eine Website nach verfügbaren Ports suchen und dem Benutzer die Erlaubnis erteilen kann, zusätzliche Ports zugänglich zu machen.
Beim Laden des Events werden Listener für die connect- und disconnect-Ereignisse hinzugefügt, sodass die Website reagieren kann, wenn ein Gerät mit dem System verbunden oder davon getrennt wird. Die Methode getPorts() wird dann aufgerufen, um festzustellen, welche Ports verbunden sind, auf die die Website bereits Zugriff hat.
Wenn die Website keinen Zugang zu verbundenen Ports hat, muss sie warten, bis sie eine Benutzeraktivierung erhält, um fortzufahren. In diesem Beispiel verwenden wir einen click-Ereignishandler auf einem Button für diese Aufgabe. Ein Filter wird an requestPort() mit einer USB-Hersteller-ID übergeben, um die dem Benutzer angezeigten Geräte auf USB-Geräte eines bestimmten Herstellers zu beschränken.
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> |