functie uitvoeren na volledige pagina-lading

Ik gebruik de volgende code om enkele verklaringen uit te voeren na het laden van de pagina.

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

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

Maar deze code werkt niet goed. De functie wordt aangeroepen zelfs als sommige afbeeldingen of elementen worden geladen. Wat ik wil is dat de functie wordt aangeroepen als de pagina volledig is geladen.

dit kan voor u werken:

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

of als je comfort met jquery,

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

$(document).ready() vuurt op DOMContentLoaded, maar dit evenement is niet wordt afgevuurd consistent onder browsers. Dit is de reden waarom jQuery hoogstwaarschijnlijk een aantal zware workarounds zal implementeren om alle browsers te ondersteunen. En dit zal het erg moeilijk maken om "exactly" het gedrag te simuleren met behulp van gewone Javascript (maar niet onmogelijk natuurlijk).

Zoals Jeffrey Sweeney en J Torres suggereerden, denk ik dat het beter is om een setTimeout functie te hebben, voordat je de functie afvuurt zoals hieronder:

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

Als je jQuery kunt gebruiken, kijk dan eens naar load. Je zou dan je functie kunnen instellen om te lopen nadat je element klaar is met laden.

Neem bijvoorbeeld een pagina met een eenvoudige afbeelding:

![Book](book.png)

De event handler kan aan de afbeelding gebonden worden:

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

Als je alle elementen in het huidige venster wilt laden, kun je

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

Probeer dit eens jQuery:

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