Tengo una función para ayudar al usuario a desplazarse hasta la parte superior de la página de esta manera:
function toTheTop(){ document.getElementByID('topUpBtn').addEventListener('click', ()=>{ scrollTo( { top: document.querySelector('h1').getBoundingClientRect().top, behavior: 'smooth'}) }); } export { toTheTop } Estoy usando Webpack para la organización del código. Llamé a la función toTheTop en un punto de entrada como se muestra a continuación:
import { toTheTop } from './js/TopUpButton.js'; if(document.readyState !== 'loading') { console.log('document is already ready'); toTheTop(); } else{ document.addEventListener('DOMContentLoaded', ()=>{ console.log('document was not ready'), toTheTop(); }); } export { toTheTop }He probado esta función sin Webpack y funcionó. Sin embargo, cuando se usa con Webpack, no fue así. Inspeccione la consola en busca del botón que solo veo:
DOMContentloaded click Pero con la configuración de Webpack, veo una línea rara llamada beforeunload en orden como esta:
beforunload clickabre esta línea que vi:
self.addEventListener("beforeunload", function () { status.isUnloading = true; }); No implementé este código en absoluto. Busqué el uso de beforeunload : esto solo se usa si queremos solicitar algo al usuario antes de abandonar una página.
Mis preguntas son: ¿Por qué tengo el controlador de eventos beforeunload en mi código? ¿Esto se relaciona con la configuración de mi Webpack? y como puedo solucionar mi problema?
Traté de resolverlo durante varios días, pero todavía no puedo manejarlo.
lo he arreglado Afortunadamente no hay nada malo con mi código. La función no funcionó porque los elementos css estaban en conflicto entre sí en diferentes páginas. Fue difícil de encontrar, pero gracias chicos. Publicar una pregunta me ayuda a pensarlo dos veces.