eseguire la funzione dopo il caricamento completo della pagina

Sto usando il seguente codice per eseguire alcune istruzioni dopo il caricamento della pagina.

 <script type="text/javascript">
    window.onload = function () { 

        newInvite();
        document.ag.src="b.jpg";
    }
</script>

Ma questo codice non funziona correttamente. La funzione viene chiamata anche se alcune immagini o elementi si stanno caricando. Quello che voglio è chiamare la funzione quando la pagina viene caricata completamente.

questo può funzionare per voi:

document.addEventListener('DOMContentLoaded', function() {
   // your code here
}, false);

o se il tuo comfort con jquery,

$(document).ready(function(){
// your code
});

$(document).ready() scatta su DOMContentLoaded, ma questo evento non viene sparato in modo coerente tra i browser. Questo è il motivo per cui jQuery molto probabilmente implementerà alcuni pesanti workaround per supportare tutti i browser. E questo renderà molto difficile "esattamente" simulare il comportamento usando semplice Javascript (ma non impossibile, naturalmente).

come Jeffrey Sweeney e J Torres hanno suggerito, penso che sia meglio avere una funzione setTimeout, prima di sparare la funzione come sotto:

setTimeout(function(){
 //your code here
}, 3000);
Commentari (11)

Se puoi usare jQuery, guarda load. Potresti quindi impostare la tua funzione per essere eseguita dopo che il tuo elemento finisce di caricare.

Per esempio, considera una pagina con una semplice immagine:

![Book](book.png)

Il gestore dell'evento può essere legato all'immagine:

$('#book').load(function() {
  // Handler for .load() called.
});

Se hai bisogno che tutti gli elementi della finestra corrente vengano caricati, puoi usare

$(window).load(function () {
  // run code
});
Commentari (6)

Prova questo jQuery:

$(function() {
 // Handler for .ready() called.
});
Commentari (1)