Skip to content

Instantly share code, notes, and snippets.

@ryanschuhler
Last active July 28, 2016 17:47
Show Gist options
  • Save ryanschuhler/0b1584afbe62cfa643af092c221c0d0f to your computer and use it in GitHub Desktop.
Save ryanschuhler/0b1584afbe62cfa643af092c221c0d0f to your computer and use it in GitHub Desktop.
AUI().ready(
'cookie',
function(A) {
window.pageMetrics = {};
pageMetrics.errors = [];
window.onerror = function(message, url, lineNumber) {
var error = {};
error.lineNumber = lineNumber;
error.message = message;
error.url = url;
pageMetrics.errors.push(error);
return false;
};
A.on(
'load',
function() {
pageMetrics.anonymousUserId = A.Cookie.get("ANONYMOUS_USER_ID");
pageMetrics.companyId = themeDisplay.getCompanyId();
pageMetrics.hubspotUtk = A.Cookie.get("hubspotutk");
pageMetrics.isSignedIn = themeDisplay.isSignedIn();
pageMetrics.jsessionId = A.Cookie.get("JSESSIONID");
pageMetrics.loadTime = window.performance.now();
pageMetrics.performanceTiming = window.performance.timing;
pageMetrics.startTime = new Date().getTime();
pageMetrics.sessionId = themeDisplay.getSessionId();
pageMetrics.userId = themeDisplay.getUserId();
}
);
pageMetrics.events = {};
A.on(
'click',
function(event) {
var clickEvent = {};
clickEvent.innerHeight = window.innerHeight;
clickEvent.innerWidth = window.innerWidth;
clickEvent.pageX = event.pageX;
clickEvent.pageY = event.pageY;
clickEvent.type = 'click';
pageMetrics.events[new Date().getTime()] = clickEvent;
}
);
A.on(
'beforeunload',
function() {
pageMetrics.endTime = new Date().getTime();
pageMetrics.timeOnPage = pageMetrics.endTime - pageMetrics.startTime;
//send code to wherever it will be stored
console.log(pageMetrics, pageMetrics.timeOnPage);
}
);
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment