MozNFC.onpeerlost
The onpeerlost
event handler of the MozNFC
interface handles the peerlost
event, which is fired when the MozNFCPeer
object received in MozNFC.onpeerready
is no longer available or not in proximinty (e.g. the peer device moves out of range.).
peerlost
is only able to be fired for an app that has already previously received peerready
. Image the following use case:
- In WebApp-Foo, a user bumps another device, and the Sharing UI pops up.
- The user shares the content, and the Sharing UI finishes.
- The user switches to another app, WebApp-Bar, which may have also registered
peerlost
. - The user now moves away from the other device. At this point Gecko will fire a
peerlost
event on the former foreground app, WebApp-Foo, because that's the app that received thepeerready
event.
Syntax
JavaScript
Copy Code
attribute EventHandler onpeerlost;
Example
js;highlight[20,21,22]
Copy Code
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 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 session id. 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!"); }; }; nfcdom.onpeerlost() { console.log("Your peer has been lost."); }
Properties
None.
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
- Related W3C APIs:
License
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/moznfc/onpeerlost