1 2if (!window.useCustomVhInit) { 3 window.vhs.init(window.vhsRegion); 4} 5 6(function () { 7 document.querySelectorAll('.js--lazy-player-button').forEach(function (button) { 8 button.addEventListener('click', async function (event) { 9 var dataset = event.target.closest('.js--vhi-root').dataset; 10 11 let masterPlayList = ''; 12 if (dataset.masterPlayListUrl) { 13 try { 14 let rawJson = null 15 const response = await fetch(dataset.masterPlayListUrl) 16 if (response.ok) { 17 rawJson = await response.json(); 18 } 19 masterPlayList = rawJson?.data?.master_play_list; 20 } catch (e) { 21 console.log('unable to fetch data: ' + e.message) 22 } 23 } 24 /* for debug period only */ 25 console.log('got masterPlayList ' + masterPlayList) 26 if (masterPlayList && window.appHandleAction) { 27 window.appHandleAction({ 28 type: 'showVideo', 29 src: { 30 hls: masterPlayList 31 }, 32 getCurrentPlayerTimeUrl: dataset.getLastSeenTime, 33 setCurrentPlayerTimeUrl: dataset.setLastSeenTime, 34 savePositionKey: dataset.savePositionKey 35 }) 36 /* for debug period only */ 37 console.log('window.appHandleAction not empty') 38 // maybe, these two strings are useless 39 event.stopPropagation() 40 event.preventDefault() 41 } else { 42 event.target.closest('.js--lazy-player-image').style.display = 'none'; 43 var iframe = document.createElement('iframe'); 44 iframe.setAttribute('id', 'vhplayeriframe-' + dataset.videoHash); 45 iframe.setAttribute('src', dataset.iframeSrc); 46 iframe.setAttribute('class', 'vhi-iframe js--vhi-iframe'); 47 iframe.setAttribute('allow', 'autoplay; encrypted-media; clipboard-read; clipboard-write;'); 48 iframe.setAttribute('sandbox', 'allow-scripts allow-top-navigation allow-same-origin allow-popups allow-forms allow-downloads'); 49 iframe.setAttribute('allowFullScreen', '1'); 50 iframe.setAttribute('frameBorder', '0'); 51 iframe.setAttribute('scrolling', 'no'); 52 event.target.closest('.js--lazy-player-iframe').appendChild(iframe); 53 } 54 }); 55 }); 56})();
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.