SerialPort: свойство connected
Ограниченная доступность
Эта функция не относится к Baseline, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене внимательно проверьте таблицу совместимости браузеров.
Примечание: Эта функция доступна в посвященных веб-воркерах.
Чтение-только свойство connected интерфейса SerialPort возвращает логическое значение, указывающее, подключен ли порт к устройству.
Описание
Когда беспроводное устройство выходит из зоны действия хоста, любой беспроводной последовательный порт, открытый веб-приложением, автоматически закрывается, хотя он остается логически подключенным. В таких случаях веб-приложение может попытаться повторно открыть порт с помощью SerialPort.open().
Однако, если беспроводное устройство было отключено намеренно (например, если пользователь отключил его с помощью панели управления операционной системой), веб-приложение должно воздержаться от повторного открытия порта, чтобы предотвратить повторное подключение к беспроводному устройству.
Следующий фрагмент кода показывает, как можно использовать свойство connected для различения этих двух случаев:
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
}
}
Значение
Логическое значение — true , если порт логически подключен, и false , если нет.
Примеры
Вывод информации о подключенном порте
Следующий фрагмент кода вызывает Serial.requestPort() при нажатии пользователем <button>, запрашивая выбор последовательного порта для подключения, затем выводит сообщение в консоль, сообщая о статусе подключения:
requestPortButton.addEventListener("click", async () => {
const port = await navigator.serial.requestPort();
console.log(`Requested serial port. Connected: ${port.connected}`);
});
Вывод статуса подключения при подключении и отключении
Вы можете использовать следующий фрагмент кода для вывода статуса подключения при срабатывании событий connect и disconnect:
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}`);
});
Спецификации
| Спецификация |
|---|
| Web Serial API # dom-serialport-connected |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
connected |
130 | 130 | Нет | 115 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/connected