1class EoCode extends HTMLElement { 2 constructor() { 3 super(); 4 } 5 6 connectedCallback() { 7 // Einmalig einfügen 8 if (this._initialized) return; 9 this._initialized = true; 10 11 const decoded = atob(this.getAttribute('code')); 12 const temp = document.createElement('div'); 13 temp.innerHTML = decoded; 14 15 const rootDivs = temp.querySelectorAll(':scope > div'); 16 rootDivs.forEach(div => div.classList.add('my-5')); 17 18 // Skripte extrahieren und ausführen 19 const scripts = temp.querySelectorAll('script'); 20 scripts.forEach(originalScript => { 21 const newScript = document.createElement('script'); 22 23 // Attribute kopieren 24 for (const attr of originalScript.attributes) { 25 newScript.setAttribute(attr.name, attr.value); 26 } 27 28 // Inhalt übernehmen 29 newScript.textContent = originalScript.textContent; 30 31 // An der richtigen Stelle einfügen 32 this.appendChild(newScript); 33 34 // Original entfernen 35 originalScript.remove(); 36 }); 37 38 // Restliche Inhalte (iframe, divs etc.) 39 this.append(...temp.childNodes); 40 } 41} 42 43customElements.define('eo-code', EoCode);
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.