PageSourceSearch

https://gesundheitsvergleich-deutschland.de/cdn/shop/t/18/assets/u…?v=108002563101108403741782126593

js gesundheitsvergleich-deutschland.de collected 2026-09-28 05:42:13 UTC 4,593 bytes, 2 lines download raw bytes

1(()=>{const PARAM_KEYS=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","utm_id","referrer_template","fbc","fbp","gclid","OutbrainClickId"],PART_PARAM_KEYS=["trc_"],COOKIE_PREFIX="_trk_";function handleTrackingIds(){const urlParams=new URLSearchParams(window.location.search),newIds=[],changedAttributes={},partnerParamKeys=(window.theme?.tracking?.partners??[]).flatMap(p=>p.params).map(k=>k.trim()).filter((k,i,arr)=>arr.indexOf(k)===i);urlParams.forEach((value,key)=>{const isParamKey=PARAM_KEYS.includes(key),isPartnerKey=!isParamKey&&partnerParamKeys.includes(key),isPartialKey=PART_PARAM_KEYS.some(prefix=>key.startsWith(prefix));!isParamKey&&!isPartnerKey&&!isPartialKey||(setCookie(COOKIE_PREFIX+key,value),(isParamKey||isPartialKey)&&(newIds.push(key),changedAttributes[key]=value))});const fbclid=urlParams.get("fbclid");if(fbclid){const fbc=generateFbc(fbclid);newIds.push("zuckClick"),changedAttributes.zuckClick=fbc,setCookie(COOKIE_PREFIX+"zuckClick",fbc)}if(!getCookie(COOKIE_PREFIX+"zuckBro")){const fbp=generateFbp();newIds.push("zuckBro"),changedAttributes.zuckBro=fbp,setCookie(COOKIE_PREFIX+"zuckBro",fbp)}window.Shopify?.analytics?.publish&&window.Shopify.analytics.publish("set_relevant_ids",{ids:newIds}),Object.keys(changedAttributes).length>0&&updateCartAttributes(changedAttributes).then()}function setupLinkTracking(){const links=document.querySelectorAll("a[href]"),dmnGroup=Array.isArray(window.theme?.tracking?.dmn_group)?window.theme.tracking.dmn_group:[],partners=Array.isArray(window.theme?.tracking?.partners)?window.theme.tracking.partners:[];dmnGroup.length===0&&partners.length===0||links.forEach(async link=>{const href=link.getAttribute("href");if(!href||href.startsWith("#")||href.startsWith("javascript")||href.startsWith("mailto:")||href.startsWith("tel:"))return;let url;try{url=new URL(href,window.location.origin)}catch{return}if(!(url.hostname!==window.location.hostname))return;const domain=url.hostname.replace(/^www\./,""),hash=await sha256Hex(domain);if(dmnGroup.includes(hash)){link.href=getTrackingUrl(url);return}const partner=partners.find(p=>p.hash===hash);partner&&(link.href=getTrackingUrl(url,partner.params.map(k=>k.trim())))})}function getTrackingUrl(baseUrl,allowedParams=null){const params=new URLSearchParams;if((allowedParams??PARAM_KEYS).forEach(key=>{const value=getCookie(COOKIE_PREFIX+key);value&&params.set(key,value)}),!allowedParams&&(document.cookie.split(";").forEach(cookieStr=>{const[rawName,rawValue]=cookieStr.split("="),name=rawName?.trim(),value=decodeURIComponent(rawValue||"");PART_PARAM_KEYS.some(prefix=>name.startsWith(COOKIE_PREFIX+prefix))&&params.set(name.slice(COOKIE_PREFIX.length),value)}),typeof Kameleoon<"u")){const kameleoonCode=Kameleoon?.API?.Visitor?.code;kameleoonCode&&params.set("kameleoon_visitor_code",kameleoonCode)}const url=new URL(baseUrl);for(const[key,value]of params.entries())url.searchParams.set(key,value);if(!allowedParams){const referrerTemplate=window.theme?.template?.suffix??null;referrerTemplate&&url.searchParams.set("referrer_template",referrerTemplate)}return url.toString()}function generateFbc(fbclid){return`${Date.now()}.${fbclid}`}function generateFbp(){const timestamp=Date.now(),rand=(()=>{if(typeof crypto<"u"&&crypto.getRandomValues){const buf=new Uint32Array(1);crypto.getRandomValues(buf);const n=buf[0]%9e9+1e9;return String(n)}return String(Math.floor(Math.random()*9e9)+1e9)})();return`${timestamp}.${rand}`}function getCookie(name){return document.cookie.split("; ").map(c=>c.split("=")).find(([key])=>key===name)?.[1]??null}function setCookie(name,value,{days=90}={}){const expires=new Date;expires.setDate(expires.getDate()+days);let cookie=`${name}=${encodeURIComponent(value)}; expires=${expires.toUTCString()}; path=/; SameSite=Lax`;location.protocol==="https:"&&(cookie+="; Secure"),document.cookie=cookie}async function updateCartAttributes(attributes){await fetch(window.Shopify.routes.root+"cart/update.js",{body:JSON.stringify({attributes}),keepalive:!0,credentials:"same-origin",method:"POST",headers:{"Content-Type":"application/json"}})}async function sha256Hex(str){const data=new TextEncoder().encode(str),hashBuffer=await crypto.subtle.digest("SHA-256",data);return Array.from(new Uint8Array(hashBuffer)).map(b=>b.toString(16).padStart(2,"0")).join("")}handleTrackingIds(),setupLinkTracking(),typeof Kameleoon<"u"&&Kameleoon.API?.Visitor||window.addEventListener("Kameleoon::Started",function(){setupLinkTracking()})})();
2//# sourceMappingURL=/cdn/shop/t/18/assets/url_cookie_parser.js.map?v=108002563101108403741782126593

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.