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:
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:
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:
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> |