Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

130
Vistas
Cargue condicionalmente y luego haga referencia a JS externo

Me gustaría cargar un script JS externo basado en una condición (el ancho de la pantalla del usuario), luego ejecutar un script que haga referencia a ese JS externo.

Quiero cargar el JS externo lo antes posible, así que lo agregué a <head> , pero cuando hago referencia al JS más adelante en <body> , se muestra como undefined .

Supongo que esto se debe a la carga síncrona de JS, pero no sé cómo hacerlo funcionar.

 <head> <script> const viewWidth = window.innerWidth; if (viewWidth >= 480) { console.log('big screen'); const swiperJS = document.createElement('script'); swiperJS.type = "text/javascript"; swiperJS.src = "https://cdnjs.cloudflare.com/ajax/libs/Swiper/7.2.0/swiper-bundle.min.js"; document.head.appendChild(swiperJS); } </script> </head> <body> <script> if (viewWidth >= 480) { const swiper = new Swiper('.swiper'); } </script> </body>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Una posible solución que utilicé

swiperJS.addEventListener('cargar', devolución de llamada);

para recuperar la llamada

 <head> <script> function loadScript(url, callback) { const viewWidth = window.innerWidth; if (viewWidth >= 480) { console.log('big screen'); const swiperJS = document.createElement('script'); swiperJS.type = "text/javascript"; swiperJS.src = url; swiperJS.addEventListener('load', callback); document.head.appendChild(swiperJS); } } function init() { console.log("inside init") const swiper = new Swiper('.swiper'); } loadScript("https://cdnjs.cloudflare.com/ajax/libs/Swiper/7.2.0/swiper-bundle.min.js", init) </script> </head> <body> </body>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda