NDEFReader: scan()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 der NDEFReader
-Schnittstelle aktiviert ein Lesegerät und gibt ein Promise
zurück, das entweder erfüllt wird, wenn ein NFC-Tag-Lesevorgang geplant ist, oder abgelehnt wird, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsabfrage aus, wenn die "nfc"-Berechtigung nicht zuvor erteilt wurde.
Syntax
scan(options)
Parameter
options
Optional-
Ein Objekt mit den folgenden Eigenschaften:
signal
-
Ein
AbortSignal
, das das Abbrechen dieserscan()
-Operation ermöglicht.
Rückgabewert
Ein Promise
, das sofort nach der Planung von Lesevorgängen für den NFC-Adapter erfüllt wird.
Ausnahmen
Diese Methode wirft keine Ausnahmen; stattdessen wird das zurückgegebene Promise abgelehnt und eine DOMException
übergeben, deren name
einer der folgenden ist:
AbortError
DOMException
-
Wird zurückgegeben, wenn die Scan-Operation mit dem in den
options
übergebenenAbortSignal
abgebrochen wurde. InvalidStateError
DOMException
-
Wird zurückgegeben, wenn bereits ein laufender Scan existiert.
NotAllowedError
DOMException
-
Wird zurückgegeben, wenn die Berechtigung für diese Operation abgelehnt wurde.
NotSupportedError
DOMException
-
Wird zurückgegeben, wenn kein NFC-Adapter vorhanden ist, der mit Web NFC kompatibel ist, oder keine Verbindung hergestellt werden kann.
Beispiele
Scanningfehler behandeln
Dieses Beispiel zeigt, was passiert, wenn ein Scan-Promise abgelehnt wird und readingerror
ausgelöst wird.
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
Specification |
---|
Web NFC API # dom-ndefreader-scan |
Browser-Kompatibilität
BCD tables only load in the browser