Junior
Jak zjistit, že iframe se načetl?
sobes.tech AI
Odpověď od AI
Existuje několik způsobů:
-
Pomocí události
load: Nejčastější a nejspolehlivější způsob.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Kód, který se spustí po načtení iframe console.log('iframe načten!'); }; -
Pomocí atributu
onloadv HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Kód po načtení console.log('iframe načten přes atribut onload!'); } </script> -
Kontrola stavu
document.readyStateuvnitř iframe (pokud máte přístup k obsahu iframe):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Kód po úplném načtení DOM uvnitř iframe console.log('DOM iframe je plně načten!'); } };Tento způsob je méně spolehlivý pro určení připravenosti všech zdrojů (obrázků, skriptů) uvnitř iframe, událost
loadje vhodnější. -
Použití
addEventListener: Modernější způsob přihlášení k události.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Kód po načtení iframe console.log('iframe načten pomocí addEventListener!'); });
Volba metody závisí na kontextu a preferencích, ale událost load je nejuniverzálnější a nejspolehlivější pro určení úplného načtení iframe, včetně všech jeho zdrojů.