PageSourceSearch

https://www.tannico.it/cdn/shop/t/206/assets/global.js?v=31018709545578185161789052869

js tannico.it collected 2026-09-24 08:56:30 UTC 3,137 bytes, 2 lines download raw bytes

1document.querySelectorAll('[id^="Details-"] summary').forEach(summary=>{summary.setAttribute("role","button"),summary.setAttribute("aria-expanded",summary.parentNode.hasAttribute("open")),summary.nextElementSibling.getAttribute("id")&&summary.setAttribute("aria-controls",summary.nextElementSibling.id),summary.addEventListener("click",event=>{event.currentTarget.setAttribute("aria-expanded",!event.currentTarget.closest("details").hasAttribute("open"))}),!summary.closest("header-drawer, menu-drawer")&&summary.parentElement.addEventListener("keyup",onKeyUpEscape)});try{document.querySelector(":focus-visible")}catch{focusVisiblePolyfill()}function focusVisiblePolyfill(){const navKeys=["ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","TAB","ENTER","SPACE","ESCAPE","HOME","END","PAGEUP","PAGEDOWN"];let currentFocusedElement=null,mouseClick=null;window.addEventListener("keydown",event=>{navKeys.includes(event.code.toUpperCase())&&(mouseClick=!1)}),window.addEventListener("mousedown",event=>{mouseClick=!0}),window.addEventListener("focus",()=>{currentFocusedElement&&currentFocusedElement.classList.remove("focused"),!mouseClick&&(currentFocusedElement=document.activeElement,currentFocusedElement.classList.add("focused"))},!0)}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(video=>video.pause()),document.querySelectorAll("product-model").forEach(model=>{model.modelViewerUI&&model.modelViewerUI.pause()})}function throttle(fn,delay){let lastCall=0;return function(...args){const now=new Date().getTime();if(!(now-lastCall<delay))return lastCall=now,fn(...args)}}class ProductRecommendations extends HTMLElement{observer=void 0;constructor(){super()}connectedCallback(){this.initializeRecommendations(this.dataset.productId)}initializeRecommendations(productId){this.observer?.unobserve(this),this.observer=new IntersectionObserver((entries,observer)=>{entries[0].isIntersecting&&(observer.unobserve(this),this.loadRecommendations(productId))},{rootMargin:"0px 0px 400px 0px"}),this.observer.observe(this)}loadRecommendations(productId){fetch(`${this.dataset.url}&product_id=${productId}&section_id=${this.dataset.sectionId}`).then(response=>response.text()).then(text=>{const html=document.createElement("div");html.innerHTML=text;const recommendations=html.querySelector("product-recommendations");recommendations?.innerHTML.trim().length&&(this.innerHTML=recommendations.innerHTML,document.dispatchEvent(new CustomEvent("swym:collections-loaded"))),!this.querySelector("slideshow-component")&&this.classList.contains("complementary-products")&&this.remove(),html.querySelector(".grid__item")&&this.classList.add("product-recommendations--loaded")}).catch(e=>{console.error(e)})}}customElements.define("product-recommendations",ProductRecommendations);
2//# sourceMappingURL=/cdn/shop/t/206/assets/global.js.map?v=31018709545578185161789052869

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.