Sobes.tech
Junior

Kako saznati da li se iframe učitao?

sobes.tech АИ

Одговор од АИ

Postoji nekoliko načina:

  1. Kroz događaj load: Najčešći i najpouzdaniji način.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      // Kod koji se izvršava nakon učitavanja iframe-a
      console.log('iframe učitan!');
    };
    
  2. Kroz atribut onload u HTML-u:

    <iframe src="somepage.html" onload="iframeLoaded()"></iframe>
    
    <script>
    function iframeLoaded() {
      // Kod nakon učitavanja
      console.log('iframe učitan putem atributa onload!');
    }
    </script>
    
  3. Provera stanja document.readyState unutar iframe-a (ako imate pristup sadržaju iframe-a):

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document;
    
      if (iframeDoc.readyState === 'complete') {
        // Kod nakon potpunog učitavanja DOM-a unutar iframe-a
        console.log('DOM iframe-a je potpuno učitan!');
      }
    };
    

    Ovaj metod je manje pouzdan za određivanje spremnosti svih resursa (slika, skripti) unutar iframe-a, događaj load je prikladniji.

  4. Korišćenje addEventListener: Moderniji način pretplate na događaj.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.addEventListener('load', function() {
      // Kod nakon učitavanja iframe-a
      console.log('iframe učitan pomoću addEventListener!');
    });
    

Izbor metode zavisi od konteksta i preferencija, ali događaj load je najuniverzalniji i najpouzdaniji za određivanje potpunog učitavanja iframe-a, uključujući sve njegove resurse.