Sobes.tech
Junior

Cum să știi dacă iframe-ul s-a încărcat?

sobes.tech AI

Răspuns de la AI

Există mai multe modalități:

  1. Prin evenimentul load: Cea mai comună și fiabilă metodă.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      // Cod care se execută după încărcarea iframe-ului
      console.log('iframe încărcat!');
    };
    
  2. Prin atributul onload în HTML:

    <iframe src="somepage.html" onload="iframeLoaded()"></iframe>
    
    <script>
    function iframeLoaded() {
      // Cod după încărcare
      console.log('iframe încărcat prin atributul onload!');
    }
    </script>
    
  3. Verificarea stării document.readyState în interiorul iframe-ului (dacă ai acces la conținutul iframe-ului):

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document;
    
      if (iframeDoc.readyState === 'complete') {
        // Cod după încărcarea completă a DOM-ului din interiorul iframe-ului
        console.log('DOM-ul iframe-ului a fost încărcat complet!');
      }
    };
    

    Această metodă este mai puțin fiabilă pentru a determina dacă toate resursele (imagini, scripturi) din interiorul iframe-ului sunt încărcate; evenimentul load este mai potrivit.

  4. Utilizarea addEventListener: O metodă mai modernă de abonare la eveniment.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.addEventListener('load', function() {
      // Cod după încărcarea iframe-ului
      console.log('iframe încărcat folosind addEventListener!');
    });
    

Alegerea metodei depinde de context și preferințe, dar evenimentul load este cel mai universal și fiabil pentru a determina încărcarea completă a iframe-ului, inclusiv toate resursele sale.