BarcodeDetector
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех распространённых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Экспериментальная: Это экспериментальная технология
Перед использованием в продуктовой среде тщательно проверьте таблицу совместимости браузеров.
Интерфейс BarcodeDetector API для обнаружения штрихкодов позволяет обнаруживать линейные и двухмерные штрихкоды на изображениях.
Конструкторы
-
BarcodeDetector.BarcodeDetector()Экспериментальная -
Создаёт и возвращает объект
BarcodeDetector, с необязательнымиBarcodeDetectorOptions.
Статические методы
-
getSupportedFormats()Экспериментальная -
Возвращает
Promise, который выполняется с массивомArrayподдерживаемых типов форматов штрихкодов.
Методы экземпляров
-
detect()Экспериментальная -
Возвращает
Promise, который выполняется с массивомDetectedBarcodeобъектов со следующими свойствами:-
boundingBox: ADOMRectReadOnly, который возвращает размеры прямоугольника, представляющего границы обнаруженного штрихкода, выровненного с изображением. -
cornerPoints: Координаты x и y четырёх угловых точек обнаруженного штрихкода относительно изображения, начиная с левого верхнего угла и двигаясь по часовой стрелке. Может не быть квадратным из-за искажений перспективы на изображении. -
format: Обнаруженный формат штрихкода. (Полный список форматов см. в списке поддерживаемых форматов штрихкодов). -
rawValue: Строка, декодированная из данных штрихкода.
-
Примеры
Создание детектора
В этом примере создаётся новый объект детектора штрихкодов со специфицированными поддерживаемыми форматами и проверяется совместимость с браузером.
// check compatibility
if (!("BarcodeDetector" in globalThis)) {
console.log("Barcode Detector is not supported by this browser.");
} else {
console.log("Barcode Detector supported!");
// create new detector
const barcodeDetector = new BarcodeDetector({
formats: ["code_39", "codabar", "ean_13"],
});
}
Получение поддерживаемых форматов
В следующем примере вызывается статический метод getSupportFormat() и результаты выводятся в консоль.
// check supported types
BarcodeDetector.getSupportedFormats().then((supportedFormats) => {
supportedFormats.forEach((format) => console.log(format));
});
Обнаружение штрихкодов
В этом примере используется метод detect() для обнаружения штрихкодов на заданном изображении. Они перебираются, и данные штрихкода выводятся в консоль.
barcodeDetector
.detect(imageEl)
.then((barcodes) => {
barcodes.forEach((barcode) => console.log(barcode.rawValue));
})
.catch((err) => {
console.log(err);
});
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
BarcodeDetector |
88Поддерживается только на ChromeOS и macOS.83–88Поддерживается только на macOS. |
83Поддерживается только на macOS. |
Нет | 69Поддерживается только на macOS. |
17 | 83 | Нет | 59 | 17 | 13.0 | 83 |
BarcodeDetector |
88["Поддерживается только на ChromeOS и macOS.", "Перед Chrome 113 на macOS Ventura (13) и выше этот интерфейс молчаливо завершался ошибкой. См. ошибку 40245611."]83–88Поддерживается только на macOS. |
83["Поддерживается только на macOS.", "Перед Chrome 113 на macOS Ventura (13) и выше этот интерфейс молчаливо завершался ошибкой. См. ошибку 40245611."] |
Нет | 69["Поддерживается только на macOS.", "Перед Chrome 113 на macOS Ventura (13) и выше этот интерфейс молчаливо завершался ошибкой. См. ошибку 40245611."] |
17 | 83 | Нет | 59 | 17 | 13.0 | 83 |
detect |
88Поддерживается только на ChromeOS и macOS.83–88Поддерживается только на macOS. |
83Поддерживается только на macOS. |
Нет | 69Поддерживается только на macOS. |
17 | 83 | Нет | 59 | 17 | 13.0 | 83 |
getSupportedFormats_static |
88Поддерживается только на ChromeOS и macOS.83–88Поддерживается только на macOS. |
83Поддерживается только на macOS. |
Нет | 69Поддерживается только на macOS. |
17 | 83 | Нет | 59 | 17 | 13.0 | 83 |
См. также
© 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/BarcodeDetector