Junior
Kaip sužinoti, ar iframe įkeltas?
sobes.tech AI
Atsakymas iš AI
Yra keletas būdų:
-
Per
loadįvykį: Labiausiai paplitęs ir patikimas būdas.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Kodas, vykdomas po iframe įkėlimo console.log('iframe įkeltas!'); }; -
Per HTML
onloadatributą:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Po įkėlimo kodas console.log('iframe įkeltas per onload atributą!'); } </script> -
Patikrinimas
document.readyStatebūsenos iframe viduje (jei turite prieigą prie iframe turinio):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Kodas po DOM pilno įkėlimo iframe viduje console.log('iframe DOM pilnai įkeltas!'); } };Šis būdas mažiau patikimas nustatyti visų išteklių (paveikslėlių, skriptų) įkėlimą,
loadįvykis yra tinkamesnis. -
Naudojant
addEventListener: modernesnis būdas prenumeruoti įvykį.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Kodas po iframe įkėlimo console.log('iframe įkeltas naudojant addEventListener!'); });
Pasirinkimas priklauso nuo konteksto ir pageidavimų, tačiau load įvykis yra universaliausias ir patikimiausias nustatant pilną iframe įkėlimą, įskaitant visus jo išteklius.