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, bevor Sie diese produktiv verwenden.
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 übergeordneten Schnittstelle.
NDEFReader.scan()
Experimentell-
Aktiviert ein Lesegerät und gibt ein
Promise
zurück, das entweder aufgelöst wird, wenn ein NFC-Tag-Lesevorgang geplant wird, oder abgelehnt wird, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsanfrage 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 aufgelöst wird, wenn eine Nachricht auf das Tag geschrieben wurde, oder abgelehnt wird, wenn ein Hardware- oder Berechtigungsfehler auftritt. Diese Methode löst eine Berechtigungsanfrage aus, wenn die "nfc"-Berechtigung nicht zuvor erteilt wurde.
Ereignisse
Erbt Ereignisse von seinem übergeordneten, EventTarget
.
reading
Experimentell-
Wird ausgelöst, wenn eine neue Leseoperation von kompatiblen NFC-Geräten verfügbar ist.
readingerror
Experimentell-
Wird ausgelöst, wenn ein Tag in der Nähe eines Lesegeräts ist, aber nicht gelesen werden kann.
Beispiele
Handhabung von anfänglichen Lesevorgängen beim Schreiben
Das folgende Beispiel zeigt, wie zwischen einem allgemeinen Lesehandler und einem, der speziell für einen einzelnen Schreibvorgang verwendet wird, koordiniert werden 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()
aus einem Leseereignis heraus 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 API # the-ndefreader-object |
Browser-Kompatibilität
BCD tables only load in the browser