Spec-Zone.ru › Web APIs

NDEFReader

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

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

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

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

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

Интерфейс NDEFReader API Web NFC используется для чтения и записи данных на совместимые NFC-устройства, например, NFC-метки, поддерживающие NDEF, когда эти устройства находятся в магнитном индукционном поле считывателя.

EventTarget NDEFReader

Конструктор

NDEFReader() Экспериментальная

Возвращает новый объект NDEFReader.

Методы экземпляра

Интерфейс NDEFReader наследует методы EventTarget, своего родительского интерфейса.

NDEFReader.scan() Экспериментальная

Активирует устройство считывания и возвращает Promise, который разрешается, когда операция чтения NFC-метки запланирована, или отклоняется, если возникает ошибка аппаратного обеспечения или ошибка разрешения. Этот метод вызывает запрос на разрешение, если разрешение «nfc» ранее не было предоставлено.

NDEFReader.write() Экспериментальная

Попытка записать сообщение NDEF в метку и возвращает Promise, который разрешается, когда сообщение было записано в метку, или отклоняется, если возникает ошибка аппаратного обеспечения или ошибка разрешения. Этот метод вызывает запрос на разрешение, если разрешение «nfc» ранее не было предоставлено.

События

Наследует события от своего родителя, EventTarget.

reading Экспериментальная

Срабатывает, когда доступно новое чтение со совместимых NFC-устройств.

readingerror Экспериментальная

Срабатывает, когда метка находится вблизи устройства чтения, но не может быть прочитана.

Примеры

Обработка начальных чтений во время записи

Пример ниже демонстрирует, как согласовать общую обработку чтения и обработку, используемую специально для одной записи. Для записи метка должна быть найдена и прочитана. Это позволяет проверить, является ли это действительно метка, в которую вы хотите записать. Поэтому рекомендуется вызывать write() из события чтения.

const ndef = new NDEFReader();
let ignoreRead = false;

ndef.onreading = (event) => {
  if (ignoreRead) {
    return; // write pending, ignore read.
  }

  console.log("We read a tag, but not during pending write!");
};

function write(data) {
  ignoreRead = true;
  return new Promise((resolve, reject) => {
    ndef.addEventListener(
      "reading",
      (event) => {
        // Check if we want to write to this tag, or reject.
        ndef
          .write(data)
          .then(resolve, reject)
          .finally(() => (ignoreRead = false));
      },
      { once: true },
    );
  });
}

await ndef.scan();
try {
  await write("Hello World");
  console.log("We wrote to a tag!");
} catch (err) {
  console.error("Something went wrong", err);
}

Спецификации

Спецификация
Web NFC
# the-ndefreader-object

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
NDEFReader Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
NDEFReader Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
makeReadOnly Нет Нет Нет Нет Нет 100 Нет 69 Нет 19.0 100
reading_event Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
readingerror_event Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
scan Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
secure_context_required Нет Нет Нет Нет Нет 89 Нет 63 Нет 15.0 89
write Нет Нет Нет Нет Нет 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

Spec-Zone.ru

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