Document: readyState ããããã£
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
Document.readyState ããããã£ã¯ document ã®èªã¿è¾¼ã¿ç¶æ
ãè¨è¿°ãã¾ãã
ãã®ããããã£ã®å¤ãå¤åããã¨ã readystatechange ã¤ãã³ãã document ãªãã¸ã§ã¯ãã«çºè¡ããã¾ãã
å¤
ææ¸ã® readyState ã¯æ¬¡ã®ãã¡ã®ããããã«ãªãã¾ãã
loading-
ãã®ææ¸ (
document) ã¯ã¾ã èªã¿è¾¼ã¿ä¸ã§ãã interactive-
ææ¸ã®èªã¿è¾¼ã¿ãå®äºããææ¸ã®è§£éã¯ã§ããããã¹ã¯ãªãããç»åãã¹ã¿ã¤ã«ã·ã¼ãããã¬ã¼ã ãªã©ã®ãµããªã½ã¼ã¹ã¯ã¾ã èªã¿è¾¼ã¿ä¸ã§ããããã®ç¶æ ã¯ã
DOMContentLoadedã¤ãã³ããçºè¡ããããã¨ãã¦ãããã¨ã示ãã¾ãã complete-
ææ¸ã¨ãã¹ã¦ã®ãµããªã½ã¼ã¹ã®èªã¿è¾¼ã¿ãå®äºãã¾ããããã®ç¶æ ã¯
loadã¤ãã³ããçºè¡ããããã¨ãã¦ãããã¨ã示ãã¦ãã¾ãã
ä¾
>ãã¾ãã¾ãªæºåç¶æ
switch (document.readyState) {
case "loading":
// ãã®ææ¸ã¯ã¾ã èªã¿è¾¼ã¿ä¸ã
break;
case "interactive": {
// ãã®ææ¸ã¯èªã¿è¾¼ã¿ãçµäºããã DOM è¦ç´ ã«ã¢ã¯ã»ã¹ã§ããããã«ãªã£ãã
// ããããç»åãã¹ã¿ã¤ã«ã·ã¼ãããã¬ã¼ã ãªã©ã®å¯ãªã½ã¼ã¹ã¯ã¾ã èªã¿è¾¼ã¿ä¸ã
const span = document.createElement("span");
span.textContent = "A <span> element.";
document.body.appendChild(span);
break;
}
case "complete":
// ãã¼ã¸ãå®å
¨ã«èªã¿è¾¼ã¿å®äºã
console.log(
`æåã® CSS ã«ã¼ã«: ${document.styleSheets[0].cssRules[0].cssText}`,
);
break;
}
readystatechange ã DOMContentLoaded ã¤ãã³ãã®ä»£æ¿ã¨ãã
// DOMContentLoaded ã¤ãã³ãã®ä»£æ¿
document.onreadystatechange = () => {
if (document.readyState === "interactive") {
initApplication();
}
};
readystatechange ã load ã¤ãã³ãã®ä»£æ¿ã¨ãã
// Alternative to load event
document.onreadystatechange = () => {
if (document.readyState === "complete") {
initApplication();
}
};
readystatechange ã DOM ã®æ¿å ¥ã夿´ã®ã¤ãã³ããªã¹ãã¼ã¨ã㦠DOMContentLoaded ã®åã«ä½¿ç¨
document.addEventListener("readystatechange", (event) => {
if (event.target.readyState === "interactive") {
initLoader();
} else if (event.target.readyState === "complete") {
initApp();
}
});
仿§æ¸
| 仿§æ¸ |
|---|
| HTML > # current-document-readiness > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- é¢é£ã¤ãã³ã:
readystatechangeã¤ãã³ãDOMContentLoadedã¤ãã³ãloadã¤ãã³ã