-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtime-track-01.js
More file actions
33 lines (33 loc) · 1.07 KB
/
time-track-01.js
File metadata and controls
33 lines (33 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
This script is adds time spent in the page to the title of the page
*/
var originalTitle = document.title;
function renderTimeSpent() {
t = timeSpent;
var sec = (t / 1000);
var min = sec / 60;
var hr = min / 60;
s = parseInt(hr % 24) + ":" + parseInt(min % 60) + ":" + parseInt(sec % 60);
document.title = s + " | " + originalTitle;
}
var timeSpent = 0;
var interval = 1000;
var lastKeyActivityTime = Date.now();
var lastMouseActivityTime = Date.now();
function onKeyActivity() {
lastKeyActivityTime = Date.now();
}
function onMouseActivity() {
lastMouseActivityTime = Date.now();
}
document.addEventListener('keydown', onKeyActivity);
document.addEventListener('mousemove', onMouseActivity);
document.addEventListener('mousedown', onMouseActivity);
document.addEventListener('mousewheel', onMouseActivity);
setInterval(function () {
var now = Date.now();
if (!document.hidden && (document.hasFocus() || now - lastKeyActivityTime < 1000 || now - lastMouseActivityTime < 1000)) {
timeSpent += interval;
}
renderTimeSpent();
}, interval);