1 /*! Start of public/scripts/third-party-scripts.js. */ 2const putThirdPartyScripts=(()=>{const fdi=(window.fdi=window.fdi||{u:{},p:{}});fdi.u.getJSONFromDOM=(elementId)=>{const scriptElement=document.getElementById(elementId);if(!scriptElement)return console.error('No element found with ID:',elementId);try{return JSON.parse(scriptElement.textContent);}catch(e){console.error('Error parsing JSON from DOM:',e);return null;}};fdi.p.third_party_scripts=fdi.u.getJSONFromDOM('third-party-scripts-raw');const isMobile=window.innerWidth<=768;const pauseScripts="none".toLowerCase();const scriptIsSafe=(script)=>{if(script.third_party_script__code.includes('document.write')){console.error(`Script"${script.third_party_script__title}"is not safe.`);return false;} 3return true;};const scriptIsActive=(script)=>{const isActive=script.third_party_script__is_active==='active';const placement=script.third_party_script__placement;if(pauseScripts==='all')return false;if(pauseScripts==='all - head'&&placement==='head')return false;if(pauseScripts==='all - footer'&&placement==='footer')return false;return isActive;};const appendThirdPartyScripts=(script,placement)=>{const scriptDom=new DOMParser().parseFromString(script.third_party_script__code,'text/html');const scriptChildren=[...(scriptDom.head.children.length?scriptDom.head.children:scriptDom.body.children)];scriptChildren.forEach((child)=>{if(child instanceof HTMLElement){const newScript=document.createElement(child.tagName);[...child.attributes].forEach(attr=>newScript.setAttribute(attr.name,attr.value));child.src?(newScript.src=child.src):(newScript.textContent=child.innerText);document.getElementsByTagName(placement)[0].appendChild(newScript);}});};const executeScriptBasedOnPage=(script,applyScript)=>{const scriptPage=script.third_party_script__page;const pageConditions={'all':true,'homepage':document.body.classList.contains('home'),'srp':document.body.classList.contains('archive'),'vdp':document.body.classList.contains('inventory-vdp')};if(pageConditions[scriptPage])applyScript();};const renderDeferredThirdPartyScripts=(scripts)=>{scripts.forEach((script)=>{if(script.third_party_script__defer==='true'&&scriptIsActive(script)&&scriptIsSafe(script)){const deferTime=isMobile?10000:5000;const applyScript=()=>setTimeout(()=>appendThirdPartyScripts(script,script.third_party_script__placement),deferTime);executeScriptBasedOnPage(script,applyScript);}});};const data=fdi.p.third_party_scripts;if(data&&data.length>0){const loadScripts=()=>{renderDeferredThirdPartyScripts(data.filter(script=>script.third_party_script__defer==='true')) 4document.dispatchEvent(new CustomEvent('fde__third_party_scripts_loaded',{detail:{data:data}}))};
4document.readyState==='complete'?loadScripts():window.addEventListener('load',loadScripts);}else{console.error('No third-party scripts found.');}})(); 5/*! End of public/scripts/third-party-scripts.js. */
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.