Sobes.tech
Junior

Kā uzzināt, vai iframe ir ielādēts?

sobes.tech AI

Atbilde no AI

Ir vairākas veidi:

  1. Per load notikumu: Visbiežāk izmantotais un uzticams veids.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      // Kods, kas tiek izpildīts pēc iframe ielādes
      console.log('iframe ir ielādēts!');
    };
    
  2. Per HTML onload atribūtu:

    <iframe src="somepage.html" onload="iframeLoaded()"></iframe>
    
    <script>
    function iframeLoaded() {
      // Kods pēc ielādes
      console.log('iframe ir ielādēts ar onload atribūtu!');
    }
    </script>
    
  3. Pārbaude document.readyState stāvoklim iframe iekšienē (ja jums ir piekļuve iframe saturam):

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.onload = function() {
      const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document;
    
      if (iframeDoc.readyState === 'complete') {
        // Kods pēc DOM pilnas ielādes iframe iekšienē
        console.log('iframe DOM ir pilnībā ielādēts!');
      }
    };
    

    Šis veids ir mazāk uzticams, lai noteiktu visu resursu (attēlu, skriptu) ielādi, load notikums ir piemērotāks.

  4. Izmantojot addEventListener: Mūsdienīgāka pieeja notikumu abonēšanai.

    const iframeElement = document.getElementById('myIframe');
    
    iframeElement.addEventListener('load', function() {
      // Kods pēc iframe ielādes
      console.log('iframe ir ielādēts, izmantojot addEventListener!');
    });
    

Izvēle ir atkarīga no konteksta un preferencēm, bet load notikums ir vispārpieņemts un uzticams, lai noteiktu pilnu iframe ielādi, ieskaitot visus resursus.