Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

218
Views
Javascript: carga diferida para iFrame (iFrame se vuelve a cargar cada vez que me desplazo hacia arriba o hacia abajo)

Tengo problemas con mi código Lazy Load:

HTML

 <div class="mapFrame mobileHide" > <iframe class="lazy" data-src="{eval var=$config.gisMapUrl}" id="mapIFrame" ></iframe> </div> ... <div class="mapFrame mobileHide" > <iframe class="lazy" data-src=="{eval var=$config.polUrl}" ></iframe> </div>

JavaScript

 document.addEventListener("DOMContentLoaded", function() { var lazyloadiFrame = document.querySelectorAll("iframe.lazy"); var lazyloadThrottleTimeout; function lazyload () { if(lazyloadThrottleTimeout) { clearTimeout(lazyloadThrottleTimeout); } lazyloadThrottleTimeout = setTimeout(function() { var scrollTop = window.pageYOffset; lazyloadiFrame.forEach(function(iframe) { if(iframe.offsetTop < (window.innerHeight + scrollTop)) { iframe.src = iframe.dataset.src; iframe.classList.remove('lazy'); } } ); }, 20); } document.addEventListener("scroll", lazyload); });

Funciona de maravilla cuando se carga la página; y los iframes no se cargan en absoluto hasta que me desplazo a ellos. El problema es... Una vez que me desplazo a los iFrames y los muestro. Utilizo la barra de desplazamiento para moverme hacia arriba o hacia abajo, el contenido de los iFrames sigue recargándose una y otra vez... Cada vez que muevo la barra de desplazamiento, se vuelve a cargar. Necesito parar una vez cargado y solo mostrar. Básicamente, una vez que la barra de desplazamiento toca un iframe, iframe carga el contenido, lo muestra y puedo seguir desplazándome sin que vuelva a cargar el contenido.

La recarga lleva demasiado tiempo, y también hay un foco dentro del contenido de los iframes, lo que hace que vaya a ese iframe en particular cada vez que presione la barra de desplazamiento y lo vuelva a cargar. Solo necesito tener el iframe para mostrar el contenido una vez que se carga, y puedo continuar desplazándome hacia arriba o hacia abajo sin recargarlo.

Intenté eliminar class="lazy", y elimina la clase, pero el contenido aún se vuelve a cargar cada vez que presiono la barra de desplazamiento. Intenté eliminar scrollTop, pero eso solo parece eliminar el contenido dentro de un iframe.

Estoy un poco oxidado con la codificación de javascript y se agradece la ayuda de cualquier persona, especialmente en la codificación de qué hacer a continuación. ¡Por favor ayuda!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!