1document.addEventListener('DOMContentLoaded', () => { 2 const popupTriggers = document.querySelectorAll('.popup-trigger'); 3 const popupOverlays = document.querySelectorAll('.popup-overlay'); 4 const popupCloseButtons = document.querySelectorAll('.popup-close'); 5 6 fetch('/pc/html/popup_01.html') 7 .then((response) => response.text()) 8 .then((data) => { 9 document.getElementById('popup1').innerHTML = data; 10 }); 11 12 fetch('/pc/html/popup_02.html') 13 .then((response) => response.text()) 14 .then((data) => { 15 document.getElementById('popup2').innerHTML = data; 16 }); 17 18 fetch('/pc/html/popup_03.html') 19 .then((response) => response.text()) 20 .then((data) => { 21 document.getElementById('popup3').innerHTML = data; 22 }); 23 24 popupTriggers.forEach(trigger => { 25 trigger.addEventListener('click', () => { 26 const targetPopupId = trigger.dataset.target; 27 const targetPopup = document.getElementById(targetPopupId); 28 if (targetPopup) { 29 targetPopup.style.display = 'flex'; 30 } 31 }); 32 }); 33 34 popupCloseButtons.forEach(closeButton => { 35 closeButton.addEventListener('click', () => { 36 const targetPopupId = closeButton.dataset.target; 37 const targetPopup = document.getElementById(targetPopupId); 38 if (targetPopup) { 39 targetPopup.style.display = 'none'; 40 } 41 }); 42 }); 43 44 popupOverlays.forEach(overlay => { 45 overlay.addEventListener('click', (event) => { 46 if (event.target === overlay) { 47 overlay.style.display = 'none'; 48 } 49 }); 50 }); 51});
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.