PageSourceSearch

https://sophiawhittemore.com/wp-content/plugins/wp-seopress/assets/js/seopress-cookies-ajax.min.js?ver=10.3

js sophiawhittemore.com collected 2026-10-04 02:38:52 UTC 3,908 bytes, 14 lines download raw bytes

1(function(){'use strict';if(window.seopressConsentInitialized){return}
2window.seopressConsentInitialized=!0;const ACCEPT_COOKIE='seopress-user-consent-accept';const DECLINE_COOKIE='seopress-user-consent-close';const SIGNALS=['ad_storage','ad_user_data','ad_personalization','analytics_storage'];const BANNER_SELECTOR='.seopress-user-consent.seopress-user-message, .seopress-user-consent-backdrop';const hasConsent=function(){return Cookies.get(ACCEPT_COOKIE)==='1'};const updateConsent=function(granted){if(typeof window.gtag==='function'){const signals={};SIGNALS.forEach(function(signal){signals[signal]=granted?'granted':'denied'});window.gtag('consent','update',signals)}
3if(typeof window.clarity==='function'){window.clarity('consent',granted)}};const pending=[];const insertNode=function(item){const node=item.node;if(node.nodeName!=='SCRIPT'){item.target.appendChild(node.cloneNode(!0));return!1}
4const script=document.createElement('script');Array.from(node.attributes).forEach(function(attr){script.setAttribute(attr.name,attr.value)});script.textContent=node.textContent;const blocking=node.hasAttribute('src')&&!node.hasAttribute('async')&&!node.hasAttribute('defer')&&node.getAttribute('type')!=='module';if(blocking){script.async=!1;script.onload=script.onerror=drainQueue}
5item.target.appendChild(script);return blocking};const drainQueue=function(){while(pending.length){if(insertNode(pending.shift())){return}}};const executeSnippet=function(html,target){if(!html||!target){return}
6const holder=document.createElement('div');holder.innerHTML=html;Array.from(holder.childNodes).forEach(function(node){pending.push({node:node,target:target})})};const readPayload=function(){const island=document.querySelector('script#seopress-user-consent-payload[type="application/json"]');if(!island){return null}
7try{return JSON.parse(island.textContent)}catch(error){return null}};let started=!1;const startTrackers=function(){if(started){return}
8if(!document.body){document.addEventListener('DOMContentLoaded',startTrackers,{once:!0});return}
9const payload=readPayload();if(!payload){return}
10started=!0;const head=document.head;const body=document.body;executeSnippet(payload.gtag_js,head);executeSnippet(payload.matomo_js,head);executeSnippet(payload.clarity_js,head);executeSnippet(payload.custom,head);executeSnippet(payload.head_js,head);executeSnippet(payload.body_js,body);executeSnippet(payload.matomo_body_js,body);executeSnippet(payload.footer_js,body);drainQueue()};const notifyConsent=function(consent){window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:'seopress_consent_updated',seopress_consent:consent});document.dispatchEvent(new CustomEvent('seopress.consent',{detail:{consent:consent}}))};const toggleBanner=function(visible){document.querySelectorAll(BANNER_SELECTOR).forEach(function(element){element.classList.toggle('seopress-user-consent-hide',!visible)})};const expiry=function(){return Number(seopressAjaxGAUserConsent.seopress_cookies_expiration_days)};if(hasConsent()){startTrackers()}
11document.addEventListener('DOMContentLoaded',function(){if(Cookies.get(DECLINE_COOKIE)===undefined&&Cookies.get(ACCEPT_COOKIE)===undefined){toggleBanner(!0)}
12const acceptBtn=document.getElementById('seopress-user-consent-accept');if(acceptBtn){acceptBtn.addEventListener('click',function(){toggleBanner(!1);Cookies.remove(DECLINE_COOKIE);Cookies.set(ACCEPT_COOKIE,'1',{expires:expiry()});updateConsent(!0);startTrackers();notifyConsent('accept')})}
13const declineBtn=document.getElementById('seopress-user-consent-close');if(declineBtn){declineBtn.addEventListener('click',function(){toggleBanner(!1);Cookies.remove(ACCEPT_COOKIE);Cookies.set(DECLINE_COOKIE,'1',{expires:expiry()});updateConsent(!1);notifyConsent('decline')})}
14const editBtn=document.getElementById('seopress-user-consent-edit');if(editBtn){editBtn.addEventListener('click',function(){toggleBanner(!0)})}})})()

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.