actively
v1.0.1
Published
Track user's active time on browser
Downloads
4
Readme
Actively
Actively track user engagement and know when they move away from your page.
Install
npm install --save actively
Example - basic
import Actively from 'actively';
const active = new Actively({
timeIntervalEllapsedCallbacks: [],
absoluteTimeEllapsedCallbacks: [],
browserTabInactiveCallbacks: [],
browserTabActiveCallbacks: [],
idleTimeoutMs: 3000,
checkCallbacksIntervalMs: 250
})
window.addEventListener('mousemove', active.startTimer)
window.addEventListener('beforeunload', active.stopTimer)
Example - Advanced
import Actively from 'actively';
const active = new Actively({
timeIntervalEllapsedCallbacks: [],
absoluteTimeEllapsedCallbacks: [],
browserTabInactiveCallbacks: [],
browserTabActiveCallbacks: [],
idleTimeoutMs: 3000,
checkCallbacksIntervalMs: 250
})
window.addEventListener('mousemove', active.startTimer)
window.addEventListener('beforeunload', active.stopTimer)
const cb = {
multiplier: time => time + (60 * 5 * 1000), // Every 5 minutes
timeInMilliseconds: 0,
callback: () => {
console.log("Doing Something every 5 minutes")
}
}
active.addTimeIntervalEllapsedCallback(cb)
const callback = () => console.log('Browser going inactive');
active.addBrowserTabInactiveCallback(callback)
var ActiveTimeIntervals = active.times; // array of time periods with user activity
API
Public methods
running Bool
Shows is user is active on current webpage and the timer is running.
times Array
Array of timeDurations when the user was active.
Each time duration is
Object({
start: Date,
stop: Date
})
idle Bool
True when the user is inactive on current webpage and the timer is stopped.
currentIdleTimeMs Integer
Time elapsed(in miliseconds) since the user was last active.
idleTimeoutMs Integer
The idle time for a user after which timer stops and user is marked as inactive.
Public Demo
Demo coming soon!
License
MIT © Gaurav Koley, 2020