Document.readyState
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
La valeur Document.readyState est une propriété de document
qui décrit l'état de chargement du document.
À chaque évolution de la valeur, un évenement readystatechange
est émis dans l'objet document
.
Syntaxe
var string = document.readyState;
Valeurs
La variable readyState
peut valoir :
loading
-
Le
document
est encore en chargement. interactive
-
Le document a été chargé, mais les ressources (images, scripts, css..) sont encore en cours d'acquisition. En revanche la structure DOM est générée, et
DOMContentLoaded
a été émis. complete
-
Le document et toutes les sous-ressources ont été chargés, et
load
a été émis.
Exemples
Différents états de chargement
switch (document.readyState) {
case "loading":
// Encore en chargement.
break;
case "interactive":
// Le DOM est construit, on peut y accéder.
var span = document.createElement("span");
span.textContent = "A <span> element.";
document.body.appendChild(span);
break;
case "complete":
// La page est pleinement chargée.
console.log(
"The first CSS rule is: " + document.styleSheets[0].cssRules[0].cssText,
);
break;
}
readystatechange comme alternative à DOMContentLoaded
// alternative à DOMContentLoaded
document.onreadystatechange = function () {
if (document.readyState == "interactive") {
initApplication();
}
};
readystatechange comme alternative à load
// alternative à load
document.onreadystatechange = function () {
if (document.readyState == "complete") {
initApplication();
}
};
readystatechange comme event listener pour insérer ou modifier le DOM avant DOMContentLoaded
// Modification du document <body> dès que possible en utilisant un script externe
var bootstrap = function (evt) {
if (evt.target.readyState === "interactive") {
initLoader();
} else if (evt.target.readyState === "complete") {
initApp();
}
};
document.addEventListener("readystatechange", bootstrap, false);
Spécifications
Specification |
---|
HTML Standard # current-document-readiness |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- L'événement
readystatechange
- L'événement
DOMContentLoaded
- L'événement
load