PageSourceSearch

https://www.endurasport.com/cdn/shop/t/39/assets/media-controls.js?v=165412463736913678601779374657

js endurasport.com collected 2026-09-25 23:37:10 UTC 3,790 bytes, 1 lines download raw bytes

1class s extends HTMLElement{constructor(){super(),this.mediaId=this.getAttribute("data-media-id"),this.mediaEl=!1,this.mediaStatus=this.getAttribute("data-media-status"),this.mediaShowControlsOnInteraction=this.getAttribute("data-media-controls"),this.buttonPlay=this.querySelector('[data-media-control="play"]'),this.buttonPause=this.querySelector('[data-media-control="pause"]'),this.videoEl=null,this.videoIframe=null,this.coverPhotoId=this.getAttribute("data-cover-photo-id"),this.coverPhotoEl=document.getElementById(this.coverPhotoId)}connectedCallback(){if(!this.buttonPlay||!this.buttonPause||!this.mediaId||(this.mediaEl=document.getElementById(this.mediaId),!this.mediaEl))return;this.initVideo();const e=new MutationObserver(()=>{this.initVideo(),e.disconnect()});e.observe(this.mediaEl,{childList:!0,subtree:!0})}initVideo(){this.videoEl=this.mediaEl.querySelector("video"),this.videoIframe=this.mediaEl.querySelector("iframe"),this.videoEl?(this.setupMediaControls("video"),this.setupVideoListeners()):this.videoIframe&&this.setupMediaControls("iframe")}setupMediaControls(e){e==="video"&&this.videoEl&&(this.buttonPlay.addEventListener("click",()=>this.playMedia()),this.buttonPause.addEventListener("click",()=>this.pauseMedia()),this.classList.add("visible")),e==="iframe"&&this.videoIframe&&(this.buttonPlay.addEventListener("click",()=>this.playIframe()),this.buttonPause.addEventListener("click",()=>this.pauseIframe()),this.classList.add("visible"))}setupVideoListeners(){if(this.videoEl){if(this.videoEl.addEventListener("play",()=>{this.setMediaControlsStatus("playing")}),this.videoEl.addEventListener("pause",()=>{this.setMediaControlsStatus("paused")}),!this.videoEl.paused){this.setMediaControlsStatus("playing");return}this.setMediaControlsStatus("paused")}}playIframe(){if(!this.videoIframe)return;const e=this.videoIframe.contentWindow;this.videoIframe.src.includes("youtube.com")||this.videoIframe.src.includes("youtu.be")?e.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):this.videoIframe.src.includes("vimeo.com")&&e.postMessage('{"method":"play"}',"*"),this.setMediaControlsStatus("playing")}pauseIframe(){if(!this.videoIframe)return;const e=this.videoIframe.contentWindow;this.videoIframe.src.includes("youtube.com")||this.videoIframe.src.includes("youtu.be")?e.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"):this.videoIframe.src.includes("vimeo.com")&&e.postMessage('{"method":"pause"}',"*"),this.setMediaControlsStatus("paused")}setMediaControlsStatus(e){if(e==="playing"){this.coverPhotoEl&&this.coverPhotoEl.classList.add("hidden");const i=this.mediaEl.querySelector("img");i&&i.classList.add("hidden"),this.mediaShowControlsOnInteraction&&(this.videoEl.setAttribute("controls",!0),this.videoEl.setAttribute("controlslist","nodownload"))}this.setAttribute("data-media-status",e)}playMedia(){this.mediaShowControlsOnInteraction&&(this.buttonPause.classList.add("hidden"),this.buttonPlay.classList.add("hidden")),this.setMediaControlsStatus("playing"),this.videoEl.play()}pauseMedia(){this.setMediaControlsStatus("paused"),this.videoEl.pause()}}window.customElements.get("media-controls")||window.customElements.define("media-controls",s);function o(){document.querySelectorAll(".js-youtube").forEach(t=>{try{t.contentWindow.postMessage(JSON.stringify({event:"command",func:"pauseVideo",args:""}),"*")}catch(e){console.warn("YouTube iframe not available:",e)}}),document.querySelectorAll(".js-vimeo").forEach(t=>{try{t.contentWindow.postMessage(JSON.stringify({method:"pause"}),"*")}catch(e){console.warn("Vimeo iframe not available:",e)}}),document.querySelectorAll("video").forEach(t=>t.pause()),document.querySelectorAll("product-model").forEach(t=>{t.modelViewerUI&&t.modelViewerUI.pause()})}export{o as p};

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.