Spec-Zone.ru › Web APIs

NDEFReader: метод scan()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости с браузерами.

Метод scan() интерфейса NDEFReader активирует устройство чтения и возвращает Promise, который разрешается, когда операция чтения NFC-метки запланирована, или отклоняется, если возникает ошибка аппаратного обеспечения или разрешений. Этот метод вызывает запрос на разрешение, если разрешение "nfc" ранее не было предоставлено.

Синтаксис

scan(options)

Параметры

options Необязательный

Объект со следующими свойствами:

signal

AbortSignal, позволяющий отменить эту операцию scan().

Возвращаемое значение

A Promise, который разрешается сразу после планирования операций чтения для NFC-адаптера.

Исключения

Этот метод не генерирует исключения; вместо этого он отклоняет возвращённый промис, передавая DOMException, у которого name является одним из следующих:

AbortError DOMException

Возвращается, если операция сканирования была прервана с помощью AbortSignal, переданного в аргументе options.

InvalidStateError DOMException

Возвращается, если уже происходит сканирование.

NotAllowedError DOMException

Возвращается, если разрешение на эту операцию было отклонено.

NotSupportedError DOMException

Возвращается, если нет 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API