Use this script to check if your users have not interacted with your page after a given amount of time. You can choose what to listen for (mousemove
or scroll
are good examples) and then run a callback function afterwards.
bower install interactioncheck
npm install interactioncheck --save
Include interactioncheck.js in your JavaScript bundle or add it to your HTML page like this:
<script type='application/javascript' src='/path/to/interactioncheck.js'></script>
or with NPM/Browserify
var InteractionCheck = require('interactioncheck');
// Listen for mousemove event
var mousemoveCheck = new InteractionCheck('mousemove', 4000, function() {
console.log('no mousemove');
});
// Listen for scroll event
var scrollCheck = new InteractionCheck('scroll', 4000, function() {
console.log('no scroll');
});
// Prevent from starting immediately and restarting
var touchstartCheck = new InteractionCheck('touchstart', 4000, function() {
console.log('no touchstart');
}, false, false);
InteractionCheck(event, interval, callback, startImmediately, restart)
Default: mousemove
Can be any javascript event, e.g. mousemove
or scroll
.
Default: 6000
Time in milliseconds (thousandths of a second) to wait before triggering the check.
Default: undefined
A callback function to be run if the user is inactive for your specified amount of time.
Default: true
Set this to true to start the timer immediately after invocation.
Default: true
Set this to true
to restart the check after the callback has fired.
Call start()
to start the check if startImmediately
has been set to false
.
Call stop()
to stop the check's timer at any time.
var touchstartCheck = new InteractionCheck('touchstart', 4000, function() {
console.log('no touchstart');
}, false, false);
// Start the prompt
touchstartCheck.start();
// Stop the prompt
touchstartCheck.stop();
Chrome, Internet Explorer 9+, Firefox, Opera
Browserify (Node.js) & AMD