--- title: document.readyState slug: Web/API/Document/readyState tags: - API - DOMContentLoaded - Document.readyState - HTML DOM - load - onload - readyState - 参考 - 属性 translation_of: Web/API/Document/readyState ---
{{APIRef("DOM")}}{{ gecko_minversion_header("1.9.2") }}
Document.readyState
属性描述了{{ domxref("document") }} 的加载状态。
当该属性值发生变化时,会在 {{domxref("document")}} 对象上触发 {{event("readystatechange")}} 事件。
var string = document.readyState;
一个文档的 readyState
可以是以下之一:
loading
(正在加载)interactive
(可交互)complete
(完成)switch (document.readyState) { case "loading": // 表示文档还在加载中,即处于“正在加载”状态。 break; case "interactive": // 文档已经结束了“正在加载”状态,DOM元素可以被访问。 // 但是像图像,样式表和框架等资源依然还在加载。 var span = document.createElement("span"); span.textContent = "A <span> element."; document.body.appendChild(span); break; case "complete": // 页面所有内容都已被完全加载. let CSS_rule = document.styleSheets[0].cssRules[0].cssText; console.log(`The first CSS rule is: ${CSS_rule }`); break; }
// 模拟 DOMContentLoaded/ jquery ready document.onreadystatechange = function () { if (document.readyState === "interactive") { initApplication(); } }
// 模拟 load 事件 document.onreadystatechange = function () { if (document.readyState === "complete") { initApplication(); } }
document.addEventListener('readystatechange', event => { if (event.target.readyState === 'interactive') { initLoader(); } else if (event.target.readyState === 'complete') { initApp(); } });
规范 | 状态 | 注释 |
---|---|---|
{{SpecName("HTML WHATWG", "#current-document-readiness", "Document readiness")}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName("HTML5.1", "#current-document-readiness", "Document readiness")}} | {{Spec2('HTML5.1')}} | |
{{SpecName("HTML5 W3C", "#current-document-readiness", "Document readiness")}} | {{Spec2('HTML5 W3C')}} | Initial specification. |
{{Compat("api.Document.readyState")}}