1// Watch the DOM until <filmstro-widget> appears 2const mo = new MutationObserver(() => { 3 const target = document.querySelector("filmstro-widget"); 4 if (!target) return; 5 6 // Once found, stop watching 7 mo.disconnect(); 8 9 let loaded = false; 10 11 const loadScript = () => { 12 13 if (loaded) return; 14 loaded = true; 15 16 const s = document.createElement("script"); 17 s.src = "https://filmstro.com/wp-content/plugins/AWS_Widgets/widgets/music-dynamic-widget/widget-script.js?ver=1.0.0"; 18 s.async = true; 19 document.body.appendChild(s); 20 21 observer.disconnect(); 22 }; 23 24 // Load when widget is visible (or 200px before) 25 const observer = new IntersectionObserver(entries => { 26 entries.forEach(entry => { 27 if (entry.isIntersecting) loadScript(); 28 }); 29 }, { 30 rootMargin: "5px 0px", 31 threshold: 0 32 }); 33 34 observer.observe(target); 35}); 36 37// Start observing the whole document for newly added nodes 38mo.observe(document.documentElement, { 39 childList: true, 40 subtree: true 41});
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.