Sobes.tech
Junior

Kuidas teada, et iframe on laaditud?

sobes.tech AI

Vastus AI-lt

On olemas mitu viisi:

  1. Kasutades load sündmust: Kõige levinum ja usaldusväärsem viis.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      // Kood, mis käivitatakse pärast iframe'i laadimist
      console.log('iframe on laaditud!');
    };
    
  2. HTML onload atribuudi kasutamine:

    <iframe src="somepage.html" onload="iframeLoaded()"></iframe>
    
    <script>
    function iframeLoaded() {
      // Pärast laadimist käivitatav kood
      console.log('iframe on laaditud onload atribuudi kaudu!');
    }
    </script>
    
  3. Kontroll document.readyState olekut iframe'i sees (kui teil on juurdepääs iframe'i sisule):

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document;
    
      if (iframeDoc.readyState === 'complete') {
        // Kood pärast DOM-i täielikku laadimist iframe'is
        console.log('iframe DOM on täielikult laaditud!');
      }
    };
    

    See meetod on vähem usaldusväärne kõigi ressursside (piltide, skriptide) laadimise määramiseks, load sündmus on selle jaoks sobivam.

  4. addEventListener kasutamine: Kaasaegsem sündmuse tellimise viis.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.addEventListener('load', function() {
      // Kood iframe'i laadimise järel
      console.log('iframe on laaditud, kasutades addEventListener!');
    });
    

Valik sõltub kontekstist ja eelistustest, kuid load sündmus on kõige universaalsem ja usaldusväärsem iframe'i täielikuks laadimiseks, sealhulgas kõikide ressursside laadimiseks.