NDEFReader: метод scan()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.
Метод scan() интерфейса NDEFReader активирует устройство чтения и возвращает Promise, который разрешается, когда операция чтения NFC-метки запланирована, или отклоняется, если возникает ошибка аппаратного обеспечения или разрешений. Этот метод вызывает запрос на разрешение, если разрешение "nfc" ранее не было предоставлено.
Синтаксис
scan(options)
Параметры
optionsНеобязательный-
Объект со следующими свойствами:
signal-
AbortSignal, позволяющий отменить эту операциюscan().
Возвращаемое значение
A Promise, который разрешается сразу после планирования операций чтения для NFC-адаптера.
Исключения
Этот метод не генерирует исключения; вместо этого он отклоняет возвращённый промис, передавая DOMException, у которого name является одним из следующих:
-
AbortErrorDOMException -
Возвращается, если операция сканирования была прервана с помощью
AbortSignal, переданного в аргументеoptions. -
InvalidStateErrorDOMException -
Возвращается, если уже происходит сканирование.
-
NotAllowedErrorDOMException -
Возвращается, если разрешение на эту операцию было отклонено.
-
NotSupportedErrorDOMException -
Возвращается, если нет NFC-адаптера, совместимого с Web NFC, или соединение не может быть установлено.
Примеры
Обработка ошибок сканирования
В этом примере показано, что происходит, когда промис сканирования отклоняется и возникает readingerror.
const ndef = new NDEFReader();
ndef
.scan()
.then(() => {
console.log("Scan started successfully.");
ndef.onreadingerror = (event) => {
console.log(
"Error! Cannot read data from the NFC tag. Try a different one?",
);
};
ndef.onreading = (event) => {
console.log("NDEF message read.");
};
})
.catch((error) => {
console.log(`Error! Scan failed to start: ${error}.`);
});
Спецификации
| Спецификация |
|---|
| Web NFC # dom-ndefreader-scan |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
scan |
Нет | Нет | Нет | Нет | Нет | 89 | Нет | 63 | Нет | 15.0 | 89 |
© 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/NDEFReader/scan