Tengo un problema al alojar un archivo HTML generado a través de ElderJS en un servidor. En la parte inferior del archivo HTML existe un que agrega un detector de eventos de 'carga' a la página. La función de devolución de llamada para el detector de eventos debe importar un fragmento de javascript de un directorio adyacente a donde está alojado el HTML y agregarlo al encabezado. El javascript es responsable de toda la funcionalidad de la página, por lo que definitivamente es necesario.
Al abrir el HTML localmente en el navegador, todo parece funcionar bien, sin embargo, cuando abro el HTML que se aloja en línea, este javascript nunca se importa.
Aquí hay un ejemplo de HTML de cómo se ve el archivo:
<!DOCTYPE html> <html lang="en"> <head> </head> <body> <div id="headerTwMZGyMlgV"> <h1>Some test HTML</h1> </div> <script type="module"> function initheaderTwMZGyMlgV(){ console.log('init header'); import("../_elderjs/svelte/components/websiteName/Header.38249def.js").then((component)=>{ new component.default({ target: document.getElementById('headerTwMZGyMlgV'), props: {}, hydrate: true }); }); } window.addEventListener('load', function (event) { console.log("load"); var observerTwMZGyMlgV = new IntersectionObserver(function(entries, observer) { var objK = Object.keys(entries); var objKl = objK.length; var objKi = 0; for (; objKi < objKl; objKi++) { var entry = entries[objK[objKi]]; if (entry.isIntersecting) { observer.unobserve(document.getElementById('headerTwMZGyMlgV')); if (document.eg_pwheader) { initheaderTwMZGyMlgV(); } else { document.eg_pwheader = true; initheaderTwMZGyMlgV(); } } } }, { rootMargin: '200px', threshold: 0 }); observerTwMZGyMlgV.observe(document.getElementById('headerTwMZGyMlgV')); }); </script> </body> </html>Lo que parece ser la principal diferencia entre ejecutar el HTML localmente versus en línea es que el eventListener de 'carga' no se activa. Localmente, el registro de la consola de 'carga' se muestra, sin embargo, en línea no lo es. ¡Cualquier ayuda es muy apreciada!