PageSourceSearch

https://www.secom.ro/cdn/shop/t/3/assets/spggtm-cart-attrs.js?v=114492366167125820401787063048

js secom.ro collected 2026-09-24 11:27:15 UTC 3,162 bytes, 2 lines download raw bytes

1(function(){"use strict";var LS_KEY="spggtm_id_beacon_sig";function debugOn(){try{return localStorage.getItem("spggtm_debug")==="1"}catch(e){return!1}}function dbg(){debugOn()&&window.console&&console.log.apply(console,["[spggtm beacon]"].concat([].slice.call(arguments)))}function cookie(name){var m=document.cookie.match(new RegExp("(?:^|;\\s*)"+name+"=([^;]+)"));return m?decodeURIComponent(m[1]):""}function gaClientId(){var v=cookie("_ga");if(!v)return"";var m=v.match(/^GA\d+\.\d+\.(.+)$/);return m?m[1]:v}function gaSessionCookieValue(){var mid="";try{mid=String(window.SPGGTM_GA4_MID||"")}catch(e){}var suffix=mid.replace(/^G-/i,"").toUpperCase();if(suffix)return/^[A-Z0-9-]+$/.test(suffix)?cookie("_ga_"+suffix):"";var m=document.cookie.match(/(?:^|;\s*)_ga_[A-Z0-9-]+=([^;]+)/);return m?decodeURIComponent(m[1]):""}function gaSession(){var v=gaSessionCookieValue();if(!v)return{sid:"",sn:""};if(v.indexOf("GS2.")===0){var body=v.split(".").slice(2).join(".");return{sid:(body.match(/(?:^|\$)s(\d+)/)||[])[1]||"",sn:(body.match(/(?:^|\$)o(\d+)/)||[])[1]||""}}var parts=v.split(".");return{sid:parts[2]||"",sn:parts[3]||""}}function consentAttrs(){try{var cp=window.Shopify&&window.Shopify.customerPrivacy,c=cp&&cp.currentVisitorConsent&&cp.currentVisitorConsent();if(!c)return{};var out={};return(c.marketing==="yes"||c.marketing==="no")&&(out._marketing_consent=String(c.marketing==="yes")),(c.analytics==="yes"||c.analytics==="no")&&(out._analytics_consent=String(c.analytics==="yes")),out}catch(e){return{}}}function collect(){var attrs={},cid=gaClientId();cid&&(attrs._spggtm_cid=cid);var s=gaSession();s.sid&&(attrs._spggtm_sid=s.sid),s.sn&&(attrs._spggtm_sn=s.sn);var y=cookie("_shopify_y");y&&(attrs._spggtm_y=y);var c=consentAttrs();for(var k in c)attrs[k]=c[k];return attrs}function computeSig(attrs,cartToken){return(cartToken||"")+"|"+Object.keys(attrs).sort().map(function(k){return k+"="+attrs[k]}).join("&")}var inflight=!1;function send(){try{if(inflight)return;var attrs=collect();if(!Object.keys(attrs).length)return;var sig=computeSig(attrs,cookie("cart"));try{if(localStorage.getItem(LS_KEY)===sig)return}catch(e){}inflight=!0,fetch("/cart/update.js",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({attributes:attrs})}).then(function(r){if(inflight=!1,!(r&&r.ok)){dbg("cart/update failed",r&&r.status);return}r.json().then(function(cart){var token=cart&&cart.token||cookie("cart")||"";try{localStorage.setItem(LS_KEY,computeSig(attrs,token))}catch(e){}dbg("attributes written",attrs)},function(){try{localStorage.setItem(LS_KEY,computeSig(attrs,cookie("cart")))}catch(e){}})},function(){inflight=!1})}catch(e){inflight=!1}}function schedule(){send(),setTimeout(send,3e3),setTimeout(send,8e3)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",schedule):schedule(),document.addEventListener("visitorConsentCollected",function(){setTimeout(send,250)}),window.addEventListener("pageshow",function(){setTimeout(send,500)})})();
2//# sourceMappingURL=/cdn/shop/t/3/assets/spggtm-cart-attrs.js.map?v=114492366167125820401787063048

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.