Mouse movement tracking and compressing data
by Simplybj
HTML
<script src="https://rawgit.com/pieroxy/lz-string/master/libs/lz-string.js"></script>
JavaScript
(function() {
document.onmousemove = handleMouseMove;
var array = [];
setInterval(function() {
ShowTimelyData();
}, 10000)
function handleMouseMove(event) {
var eventDoc, doc, body;
event = event || window.event; // IE-ism
// If pageX/Y aren't available and clientX/Y are,
// calculate pageX/Y - logic taken from jQuery.
// (This is to support old IE)
if (event.pageX == null && event.clientX != null) {
eventDoc = (event.target && event.target.ownerDocument) || document;
doc = eventDoc.documentElement;
body = eventDoc.body;
event.pageX = event.clientX +
(doc && doc.scrollLeft || body && body.scrollLeft || 0) -
(doc && doc.clientLeft || body && body.clientLeft || 0);
event.pageY = event.clientY +
(doc && doc.scrollTop || body && body.scrollTop || 0) -
(doc && doc.clientTop || body && body.clientTop || 0);
}
array.push(event.pageX);
array.push(event.pageY);
}
function ShowTimelyData() {
//for (var i = 0; i < 1024; i++) {
// array[array.length] = i % 255;
//}
var string = String.fromCharCode.apply(null, array);
var compressed = LZString.compress(string);
var decompressed = LZString.decompress(compressed);
var dearray = [];
for (var i = 0; i < decompressed.length; i++) {
dearray[i] = decompressed.charCodeAt(i);
}
console.log(array.length, array);
console.log(string.length, string);
console.log(compressed.length, compressed);
console.log(decompressed.length, decompressed);
console.log(dearray.length, dearray);
}
})();