mainwp-child/js/tracker.js
Thang Hoang Van 5106760db7 First commit
2014-03-19 23:58:52 +07:00

62 lines
1.6 KiB
JavaScript

/**
* Mouse click tracking
*/
var trackerData = [];
jQuery(document).ready(function($){
$(document).click(function(e){
var element = $(e.target).parents().map(getSelector).get().reverse().join(">");
element += '>'+$(e.target).map(getSelector).get();
var url = ( $(e.target).attr('href') ) ? $(e.target).attr('href') : $(e.target).attr('src');
var title = $(e.target).attr('title');
var alt = $(e.target).attr('alt');
var text = ( $(e.target).text().length == $(e.target).html().length ) ? $(e.target).text().substring(0, 511) : '';
trackerData.push({
coord: e.pageX+','+e.pageY,
type: 'left',
viewport: $(window).width()+','+$(window).height(),
element: element,
url: url,
title: title,
alt: alt,
text: text
});
});
$(window).unload(function(){
sendTrackData(true); // Make sure to send track data before going off from page, set it synchronious
});
function getSelector()
{
var el_class = $(this).attr('class');
var el_id = $(this).attr('id');
var el_index = $(this).index();
return this.tagName + ( el_id ? '#'+el_id : '' ) +
( el_class ? '.'+el_class.match(/^\S+/) : '' ) +
( el_index > 0 ? ':eq('+(el_index)+')' : '' );
}
function sendTrackData( sync )
{
if ( trackerData.length < 1 )
return;
$.ajax({
data : {
data: trackerData,
action: 'heatmapSaveClick',
nonce: trackerNonce
},
complete: function(){
trackerData = [];
},
async: ( sync ) ? false : true,
type: 'POST',
url: trackerAjaxUrl
});
}
setInterval(function(){ sendTrackData(false); }, 10000);
});