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 addEventListener():

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

Alternatively, assign to the event handler property of the interface:

js
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
# dom-ndefreader-onreading

Browser compatibility

See also