Déterminer si la fenêtre a chargé sans l'aide de toutes les variables globales
J'ai besoin de savoir si la fenêtre a chargé ou pas.
Je veux créer un checkLoaded
fonction qui sera de retour true
ou false
de l'indiquer, basé sur quand je l'appelle.
<html>
<head>
function checkLoaded(){
//alert true if window is loaded or alert false
}
</head>
<body onload="checkLoaded()"> <!-- This should alert true -->
Loding window.
<script>
checkLoaded();//this should alert false;
</script>
</body>
</html>
Je ne veux pas utiliser une variable globale que j'ai mis lors de la fenêtre de charges.
Est-il possible que je peux vérifier les window
état de l'objet, peut-être une propriété?
Je ne veux pas utiliser jQuery ou toutes les autres bibliothèques externes.
- si vous êtes dans le
onload
gestionnaire, la fenêtre est fini de charger. quelle est votre question? - j'ai une fonction et la même fonction, doit être alerte vrai ou faux. fonction de l'endroit où je suis en l'appelant.
- comme Grzegorz Kaczan mentionne ci-dessous, vous n'avez que deux événements de travailler avec. De sorte que vous pouvez utiliser selon celui de ces événements qui vous conviennent à vous de définir votre "vrai/faux" valeurs à vérifier. Il peut également aider à expliquer le contexte de ce que vous essayez d'accomplir et pourquoi. La fenêtre "charger" peut signifier beaucoup de choses pour beaucoup de gens. et ces deux événements assurer la fonction(){faire ce que vous aimez ici} pour accomplir la plupart des besoins.
- Je suis en train de faire certains de redirection d'appel lorsque la fonction appelée. si la fonction est appelée après avoir terminé le chargement de la page j'ai besoin de la réorienter et si son entre les deux j'ai besoin d'attendre jusqu'à son chargement. Je n'ai pas le contrôle de l'écriture de plusieurs fonctions. et à des fins de suivi complet de la page laod est nécessaire,
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
document.readyState
bien vérifier si le document est chargé, sans écouter pour tous les événements. Il sera fixé à"complete"
vérifier si le document et tous les sous-ressources sont chargés. (Cela correspond à laload
événement.)Si vous voulez seulement de vérifier si le document est chargé, sans se soucier de sous-ressources, vous pouvez également vérifier si la propriété est
"interactive"
.Cela devrait fonctionner dans les navigateurs actuels, mais n'est pas pris en charge dans les anciennes versions de tous les navigateurs.
complete
valeur est pris en charge par IE 8+.Vous avez 2 événements disponibles:
Vous pouvez voir une différence dans les ici
Peut-être simplement quelque chose comme ceci:
Cette alerte lorsque la fenêtre est chargé:
Vous pouvez maintenant appeler
checkLoaded()
de n'importe quelle partie de votre application et il va retourner true ou false.Cela vous aide ?