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

View in English Always switch to English

SerialPort: connected-Eigenschaft

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.

Die schreibgeschützte Eigenschaft connected der Schnittstelle SerialPort gibt einen booleschen Wert zurück, der angibt, ob der Port logisch mit dem Gerät verbunden ist.

Wert

Ein boolescher Wert — true, wenn der Port logisch verbunden ist, andernfalls false.

Beschreibung

Wenn ein drahtloses Gerät die Reichweite des Hosts verlässt, wird jeder von einer Web-App geöffnete drahtlose serielle Port automatisch geschlossen, obwohl er logisch verbunden bleibt. In solchen Fällen könnte die Web-App versuchen, den Port mit SerialPort.open() erneut zu öffnen.

Wenn die Verbindung zum drahtlosen Gerät jedoch absichtlich getrennt wurde (beispielsweise durch den Benutzer über die Systemsteuerung des Betriebssystems), sollte die Web-App den Port nicht erneut öffnen, um eine erneute Verbindung mit dem drahtlosen Gerät zu vermeiden.

Der folgende Ausschnitt zeigt, wie sich mit der Eigenschaft connected zwischen diesen beiden Fällen unterscheiden lässt:

js
const ports = await navigator.serial.getPorts();
for (const port of ports) {
  if (port.connected) {
    // The port is logically connected
    // automatically try to reopen the port
    await port.open({ baudRate: 9600 });
  } else {
    // The port is not logically connected; at this point you could
    // prompt the user to make sure the Bluetooth device is available, and
    // Show a "connect" button to allow them to try opening the port if desired
  }
}

Beispiele

Protokollieren, wenn ein Port verbunden ist

Der folgende Ausschnitt ruft Serial.requestPort() auf, wenn der Benutzer auf einen <button> klickt. Daraufhin wird er aufgefordert, einen seriellen Port für die Verbindung auszuwählen. Anschließend wird eine Meldung über den Verbindungsstatus in der Konsole ausgegeben:

js
requestPortButton.addEventListener("click", async () => {
  const port = await navigator.serial.requestPort();
  console.log(`Requested serial port. Connected: ${port.connected}`);
});

Verbindungsstatus beim Verbinden und Trennen protokollieren

Mit dem folgenden Ausschnitt können Sie den Verbindungsstatus protokollieren, wenn die Ereignisse connect und disconnect ausgelöst werden:

js
navigator.serial.addEventListener("connect", ({ target: port }) => {
  console.log(`Connect event fired. Connected: ${port.connected}`);
});

navigator.serial.addEventListener("disconnect", ({ target: port }) => {
  console.log(`Disconnect event fired. Connected: ${port.connected}`);
});

Spezifikationen

Spezifikation
WebSerial
# dom-serialport-connected

Browser-Kompatibilität