Untitled
unknown
plain_text
3 years ago
2.4 kB
9
Indexable
(function () {
const EXPERIMENT_NO = 'X.X';
const VARIANT_NO = 'X';
const GOOGLE_ANALYTICS_TRACKING_ID = 'UA-62398555-4';
const LOG_PREFIX = '[CONVERSION] ' + EXPERIMENT_NO + ' -->';
const SELECTOR_PREFIX = 'conversion-' + EXPERIMENT_NO.replace('.', '-');
const STORAGE_PREFIX = 'CONVERSION_' + EXPERIMENT_NO.replace('.', '_');
const DEBUGGING_TOKEN_NAME = 'DEBUGGING';
const DEBUGGING_ENABLED = document.cookie.match(
new RegExp('(^| )' + DEBUGGING_TOKEN_NAME + '=ENABLED([^;]*)', 'i')
);
const utils = {};
utils.log = (...args) => {
DEBUGGING_ENABLED && console.log(LOG_PREFIX, ...args);
};
utils.error = (...args) => {
DEBUGGING_ENABLED && console.error(LOG_PREFIX, ...args);
};
utils.dispatchEvent = (event) => {
let stop;
const check = () => {
if (stop) return;
if (!(
window.ga instanceof Function &&
window.ga.getAll instanceof Function
)) return requestAnimationFrame(check);
stop = true;
const properties = window.ga.getAll();
let analytics;
if (GOOGLE_ANALYTICS_TRACKING_ID)
analytics = properties.find(
property =>
property.get('trackingId') === GOOGLE_ANALYTICS_TRACKING_ID
);
analytics = analytics ? analytics : properties[0];
if (analytics) analytics.send(
'event',
'Adobe Target',
EXPERIMENT_NO + ' -- ' + VARIANT_NO,
event, { nonInteraction: true }
);
};
requestAnimationFrame(check);
};
utils.waitUntil = (condition, wait = 5000) => {
return new Promise((resolve, reject) => {
let stop;
const timeout = wait && setTimeout(() => {
stop = true;
reject();
}, wait);
const check = () => {
if (stop) return;
if (!condition()) return requestAnimationFrame(check);
clearTimeout(timeout);
resolve(condition());
};
requestAnimationFrame(check);
});
};
utils.dispatchEvent('experiment shown');
try {
const init = (() => {
utils.log('VARIANT #' + VARIANT_NO + ' RUNNING');
utils
.waitUntil(() => document.body, 0)
.then(element => element.classList.add(SELECTOR_PREFIX))
.catch((error) => { utils.error(error); });
})();
}
catch (error) {
utils.error(error);
}
})();Editor is loading...