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);