Last active
November 19, 2018 18:41
-
-
Save Exellin/8535bc2422cbe9fe09ffee97734e031f to your computer and use it in GitHub Desktop.
ClickHook Event Submission
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
var apiKey = 'ad82728d7b4c01b7273b46907ef82fe8648c268e05c074ca37f86bb0xxxxx'; | |
var apiAccessToken = '3f89b57564d6aa0c952de57ad58afcf7xxxxx'; | |
function setCookie(name, value) { | |
document.cookie = name + '=' + value + '; domain=' + location.hostname + '; path=/'; | |
} | |
function createUid() { | |
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |
var r = Math.random() * 16 | 0, | |
v = c == 'x' ? r : r & 0x3 | 0x8; | |
return v.toString(16); | |
}); | |
}; | |
function getEventDetails() { | |
return { | |
time: new Date().getTime() / 1000.0, | |
url: window.location.pathname, | |
params: getQueryParams() | |
}; | |
} | |
function getQueryParams() { | |
var result = {}; | |
var params = new URLSearchParams(location.search); | |
var _iteratorNormalCompletion = true; | |
var _didIteratorError = false; | |
var _iteratorError = undefined; | |
try { | |
for (var _iterator = params[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | |
var param = _step.value; | |
result[param[0]] = param[1]; | |
} | |
} catch (err) { | |
_didIteratorError = true; | |
_iteratorError = err; | |
} finally { | |
try { | |
if (!_iteratorNormalCompletion && _iterator.return) { | |
_iterator.return(); | |
} | |
} finally { | |
if (_didIteratorError) { | |
throw _iteratorError; | |
} | |
} | |
} | |
return result; | |
} | |
var uid = {{UID}} || createUid(); | |
if (!{{UID}}) { | |
setCookie('ch_uid', uid); | |
} | |
var xhr = new XMLHttpRequest(); | |
var data = { | |
type: 'pageview', | |
uid: uid, | |
api_key: apiKey, | |
api_access_token: apiAccessToken, | |
details: getEventDetails() | |
} | |
xhr.open('POST', 'https://leads.clickhook.io/api/tracker/', true); | |
xhr.setRequestHeader('Content_Type', 'application/json'); | |
xhr.send(JSON.stringify(data)); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment