The sendNDEF()
method of the MozNFCPeer
interface is used to send NFC Data Exchange Formatted (NDEF) messages to another NFC enabled device.
Syntax
sendNDEF(sequence<MozNDEFRecord> records)
Example
function fromUTF8(str) { if (!str) { return null; } var buf = new Uint8Array(str.length); for (var i = 0; i < str.length; i++) { buf[i] = str.charCodeAt(i); } return buf; } var tnf = 1; // NFC Forum Well Known type var type = new Uint8Array(fromUTF8("U")); // URL type var id = new Uint8Array(fromUTF8("")); // id var payload = new Uint8Array(fromUTF8("\u0003mozilla.org")); // URL data, with a short record prefix 0x3 replacing http:// var ndefRecords = [new MozNDEFRecord(tnf, type, id, payload)]; var nfcdom = window.navigator.mozNfc; nfcdom.onpeerready = function(event) { var nfcPeer = nfcdom.getNFCPeer(event.detail); // 'event.detail' has sessionToken. var req = nfcpeer.sendNDEF(ndefRecords); // push NDEF message to other NFC device. req.onsuccess = function(e) { console.log("Successfully pushed P2P message"); }; req.onerror = function(e) { console.log("P2P push failed! Error: " + this.error.name); }; };
Parameters
A sequence of <MozNDEFRecord> records to send.
Returns
A DOMRequest
object.
Errors
See onerror()
Specifications
The NFC implementation in Gecko follows the NFC Forum specifications.
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support |
No support |
No support | No support | No support | No support |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | No support | 2.0 moz [1] | No support | No support | No support |
[1] Available in privileged apps as of Firefox OS 2.2; certified-only before that.
See also
- Using the NFC API
- Using the NFC emulator
- Introduction to NFC (fairly long reference doc, featuring general NFC terms, and some Nokia platform specifics.)