Χρησιμοποιώ τον ακόλουθο κώδικα για να εκτελέσω ορισμένες δηλώσεις μετά τη φόρτωση της σελίδας.
<script type="text/javascript">
window.onload = function () {
newInvite();
document.ag.src="b.jpg";
}
</script>
Αλλά αυτός ο κώδικας δεν λειτουργεί σωστά. Η συνάρτηση καλείται ακόμη και αν κάποιες εικόνες ή στοιχεία φορτώνονται. Αυτό που θέλω είναι να καλέσω τη συνάρτηση όταν η σελίδα έχει φορτωθεί πλήρως.
αυτό μπορεί να λειτουργήσει για σας :
document.addEventListener('DOMContentLoaded', function() {
// your code here
}, false);
ή αν είστε άνετοι με το jquery,
$(document).ready(function(){
// your code
});
$(document).ready()
πυροδοτείται στο DOMContentLoaded, αλλά αυτό το συμβάν δεν πυροδοτείται με συνέπεια μεταξύ των browsers. Γι' αυτό το λόγο το jQuery πιθανότατα θα εφαρμόσει κάποιες βαριές λύσεις για να υποστηρίξει όλα τα προγράμματα περιήγησης. Και αυτό θα καταστήσει πολύ δύσκολη την "ακριβή" προσομοίωση της συμπεριφοράς χρησιμοποιώντας απλή Javascript (αλλά όχι αδύνατη φυσικά).
όπως πρότειναν οι Jeffrey Sweeney και J Torres, νομίζω ότι είναι καλύτερα να έχετε μια συνάρτηση setTimeout
, πριν από την πυροδότηση της συνάρτησης όπως παρακάτω :
setTimeout(function(){
//your code here
}, 3000);
Αν μπορείτε να χρησιμοποιήσετε το jQuery, δείτε το load. Θα μπορούσατε στη συνέχεια να ορίσετε τη συνάρτησή σας να εκτελείται μετά την ολοκλήρωση της φόρτωσης του στοιχείου σας.
Για παράδειγμα, σκεφτείτε μια σελίδα με μια απλή εικόνα:
<img src="book.png" alt="Book" id="book" />
Ο χειριστής συμβάντος μπορεί να συνδεθεί με την εικόνα:
$('#book').load(function() {
// Handler for .load() called.
});
Αν θέλετε να φορτώσετε όλα τα στοιχεία στο τρέχον παράθυρο, μπορείτε να χρησιμοποιήσετε το
$(window).load(function () {
// run code
});