Google Optimize
You can find the minimized version on the actual page.
Unminified code
<!-- v3.5 -->
var googleOptimize = (function(delay) {
// == Def ==
var o = {}, cover = {}, u = "undefined";
var j$html = document.documentElement;
cover.removed = false;
// == Actions ==
// If GO is already defined remove cover
if (isGODefined() === true) {
// ------------------------------
// console.log('GO loaded prior to TimeOut.');
// ------------------------------
return;
}
// Build cover
generateCover();
// Start timer
initTimeout();
// == Functions ==
function generateCover() {
cover.object = document.createElement('div');
cover.object.setAttribute('id', 'tek-go-cover');
}
// Wait for GO to load
function initTimeout() {
// ------------------------------
// console.log('initTimeout init.');
// ------------------------------
// Adding cover
j$html.prepend(cover.object);
// ------------------------------
// console.log('Cover added.');
// ------------------------------
// Setting timeout
cover.timeOut = setTimeout(function() {
// ------------------------------
// console.log('setTimeout finished.');
// console.log('GO loaded after TimeOut.');
// ------------------------------
// Show page
showContent();
}, delay);
}
function showContent() {
// ------------------------------
// console.log('showContent() init.');
// ------------------------------
// Check if GO is defined
isGODefined();
// Check if init ran
if (cover.removed === true) {
// ------------------------------
// console.log('Init. already ran, stopping...');
// ------------------------------
return;
}
// If script was called before timeout, clear it
clearTimeout(cover.timeOut);
// Remove cover
document.getElementById('tek-go-cover').remove();
// Set flag
cover.removed = true;
}
function isGODefined() {
var status = false;
if (typeof window.google_optimize !== u) {
status = true;
// ------------------------------
// console.log('GO defined.');
// ------------------------------
} else {
// ------------------------------
// console.log('GO is undefined.');
// ------------------------------
}
return status;
}
return {
showContent,
initTimeout
}
})(800);