node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

nanobeacon

nanobeacon stability

npm version build status downloads js-standard-style

Small navigator.sendBeacon wrapper. Sends an HTTP request with priority lowest to a remote host, and ensures it arrives without blocking page navigation. Useful for sending analytics data.

Also a friendly reminder not to ever store people's IP addresses. Only store the minimum amount of data needed to inform decisions. Be kind, don't give analytics a bad name.

Usage

var nanobeacon = require('nanobeacon')
 
var url = 'http://jsfiddle.net?sendbeacon'
var ok = nanobeacon(url, { hello: 'world' })
 
var msg = ok ? 'OK' : 'NOT OK'
document.body.innerHTML = '<h1>message status: ' + msg + '</h1>'

API

ok = nanobeacon(url, [data])

Send a request with a payload to a remote host.

If user has enabled Do Not Track (window.navigator.doNotTrack) then no beacon will be sent and nanobeacon will return false.

See Also

License

MIT