Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

NDEFReader: scan()-Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die scan()-Methode des NDEFReader-Interfaces aktiviert ein Lesegerät und gibt ein Promise zurück, das entweder aufgelöst wird, wenn eine NFC-Tag-Leseoperation geplant ist, oder abgelehnt wird, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsanfrage aus, wenn die "nfc"-Berechtigung zuvor nicht erteilt wurde.

Syntax

js
scan(options)

Parameter

options Optional

Ein Objekt mit den folgenden Eigenschaften:

signal

Ein AbortSignal, das es ermöglicht, diese scan()-Operation abzubrechen.

Rückgabewert

Ein Promise, das sofort aufgelöst wird, nachdem Leseoperationen für den NFC-Adapter geplant wurden.

Ausnahmen

Diese Methode wirft keine Ausnahmen; stattdessen wird das zurückgegebene Promise abgelehnt und ein DOMException übergeben, dessen name einer der folgenden ist:

AbortError DOMException

Wird zurückgegeben, wenn die Scan-Operation mit dem im options-Argument übergebenen AbortSignal abgebrochen wurde.

InvalidStateError DOMException

Wird zurückgegeben, wenn bereits ein laufender Scan vorhanden ist.

NotAllowedError DOMException

Wird zurückgegeben, wenn die Berechtigung für diese Operation abgelehnt wurde.

NotSupportedError DOMException

Wird zurückgegeben, wenn kein NFC-Adapter mit Web NFC kompatibel ist oder eine Verbindung nicht hergestellt werden kann.

Beispiele

Umgang mit Scan-Fehlern

Dieses Beispiel zeigt, was passiert, wenn ein Scan-Promise abgelehnt wird und readingerror ausgelöst wird.

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

Spezifikationen

Spezifikation
Web NFC
# dom-ndefreader-scan

Browser-Kompatibilität