NDEFReader
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 NDEFReader
-Schnittstelle der Web NFC API wird verwendet, um Daten von und zu kompatiblen NFC-Geräten zu lesen und zu schreiben, z. B. NFC-Tags, die NDEF unterstützen, wenn sich diese Geräte im magnetischen Induktionsfeld des Lesegeräts befinden.
Konstruktor
NDEFReader()
Experimentell-
Gibt ein neues
NDEFReader
-Objekt zurück.
Instanzmethoden
Die NDEFReader
-Schnittstelle erbt die Methoden von EventTarget
, ihrer Elternschnittstelle.
NDEFReader.scan()
Experimentell-
Aktiviert ein Lesegerät und gibt ein
Promise
zurück, das entweder auflöst, wenn ein Lesevorgang für ein NFC-Tag geplant ist, oder ablehnt, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsaufforderung aus, wenn die "nfc"-Berechtigung nicht zuvor erteilt wurde. NDEFReader.write()
Experimentell-
Versucht, eine NDEF-Nachricht auf ein Tag zu schreiben und gibt ein
Promise
zurück, das entweder auflöst, wenn eine Nachricht auf das Tag geschrieben wurde, oder ablehnt, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsaufforderung aus, wenn die "nfc"-Berechtigung nicht zuvor erteilt wurde.
Ereignisse
Erbt Ereignisse von seinem Elternteil, EventTarget
.
reading
Experimentell-
Wird ausgelöst, wenn neue Leseinformationen von kompatiblen NFC-Geräten verfügbar sind.
readingerror
Experimentell-
Wird ausgelöst, wenn sich ein Tag in der Nähe eines Lesegeräts befindet, aber nicht gelesen werden kann.
Beispiele
Umgang mit Anfangslesevorgängen beim Schreiben
Das folgende Beispiel zeigt, wie man zwischen einem allgemeinen Lese-Handler und einem speziell für ein einzelnes Schreiben koordinieren kann. Um zu schreiben, muss ein Tag gefunden und gelesen werden. Dies gibt Ihnen die Möglichkeit zu überprüfen, ob es tatsächlich ein Tag ist, auf das Sie schreiben möchten. Deshalb wird empfohlen, write()
von einem Leseereignis aus aufzurufen.
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);
}
Spezifikationen
Specification |
---|
Web NFC # the-ndefreader-object |