NDEFReader: reading event

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The reading event of the NDEFReader interface is fired whenever a new reading is available from compatible NFC devices (e.g. NFC tags supporting NDEF) when these devices are within the reader's magnetic induction field.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js
addEventListener("reading", (event) => {});

onreading = (event) => {};

Event type

A generic Event.

Examples

The following example shows how to process events using both the onreading and onreadingerror event handlers.

js
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}.`);
  });

Specifications

Specification
Web NFC API
# dom-ndefreader-onreading

Browser compatibility

BCD tables only load in the browser

See also