Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Serial
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.
Hinweis: Diese Funktion ist inDedicated Web Workers verfügbar.
DasSerial-Interface derWeb Serial API bietet Attribute und Methoden zum Auffinden und Verbinden mit seriellen Ports über eine Webseite.
In diesem Artikel
Instanzmethoden
Serial.requestPort()ExperimentellGibt ein
Promisezurück, das mit einer Instanz vonSerialPortaufgelöst wird, die das vom Benutzer ausgewählte Gerät darstellt. Diese Methode muss über eineflüchtige Aktivierung aufgerufen werden.Serial.getPorts()ExperimentellGibt ein
Promisezurück, das mit einem Array vonSerialPort-Objekten aufgelöst wird, die serielle Ports darstellen, die mit dem Host verbunden sind, auf die der Ursprung Zugriff hat.
Ereignisse
Die folgenden Ereignisse sind fürSerial über Event-Bubbling vonSerialPort verfügbar:
SerialPortconnectEreignisEin Ereignis, das ausgelöst wird, wenn ein Port mit dem Gerät verbunden wurde.
SerialPortdisconnectEreignisEin Ereignis, das ausgelöst wird, wenn ein Port von dem Gerät getrennt wurde.
Beispiele
Das folgende Beispiel zeigt, wie eine Seite verfügbare Ports prüfen und dem Benutzer die Erlaubnis geben kann, den Zugriff auf zusätzliche Ports zu gewähren.
Beim Laden der Seite werden Event-Listener für dieconnect- unddisconnect-Ereignisse hinzugefügt, damit die Seite darauf reagieren kann, wenn ein Gerät mit dem System verbunden oder davon getrennt wird. Die MethodegetPorts() wird dann aufgerufen, um zu sehen, welche Ports angeschlossen sind, auf die die Seite bereits Zugriff hat.
Wenn die Seite auf keine angeschlossenen Ports Zugriff hat, muss sie warten, bis sie über eine Benutzeraktivierung fortfahren kann. In diesem Beispiel verwenden wir einenclick-Event-Handler auf einem Button für diese Aufgabe. Ein Filter wird anrequestPort() mit einer USB-Hersteller-ID übergeben, um die Anzahl der Geräte, die dem Benutzer angezeigt werden, nur 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
| Specification |
|---|
| Web Serial API> # serial-interface> |