Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> HTML

HTML DOM readyState प्रॉपर्टी


readyState प्रॉपर्टी क्या है?

DOM readyState प्रॉपर्टी वर्तमान HTML दस्तावेज़ की लोडिंग स्थिति को दर्शाने वाला एक स्ट्रिंग लौटाती है। यह जांचने के लिए उपयोगी है कि क्या दस्तावेज़ पूरी तरह से लोड हो चुका है या अभी भी पार्सिंग/लोडिंग हो रहा है।

सिंटैक्स

document.readyState

संभावित मान

मान विवरण
"loading" दस्तावेज़ अभी भी लोड हो रहा है (पार्सिंग चल रही है, संसाधन डाउनलोड हो रहे हैं)।
"interactive" दस्तावेज़ पार्स हो चुका है, लेकिन सब-रिसोर्सेज (इमेज, स्टाइलशीट, स्क्रिप्ट्स) अभी भी लोड हो रहे हैं। DOM पूरी तरह से सुलभ है।
"complete" दस्तावेज़ और सभी सब-रिसोर्सेज पूरी तरह से लोड हो चुके हैं। load इवेंट फायर होने वाला है या फायर हो चुका है।

उदाहरण

यह उदाहरण बटन क्लिक पर वर्तमान दस्तावेज़ लोडिंग स्थिति प्रदर्शित करता है:

<!DOCTYPE html>
<html>
<head>
<style>
  html { height: 100%; }
  body {
    text-align: center;
    color: #fff;
    background: #ff7f5094;
    height: 100%;
  }
  p { font-weight: 700; font-size: 1.2rem; }
  .btn {
    background: #0197F6;
    border: none;
    height: 2rem;
    border-radius: 2px;
    width: 35%;
    margin: 2rem auto;
    display: block;
    color: #fff;
    outline: none;
    cursor: pointer;
  }
  .show { font-size: 1.5rem; }
</style>
</head>
<body>
<h1>DOM readyState प्रॉपर्टी डेमो</h1>
<p>क्या वर्तमान दस्तावेज़ तैयार है?</p>
<button onclick="showStatus()" class="btn">स्थिति जांचें</button>
<div class="show"></div>
<script>
  function showStatus() {
    var state = document.readyState;
    var msg = "हाँ, आपके वर्तमान दस्तावेज़ की लोडिंग है " + state + "।";
    if (state === "loading") msg += " (अभी पार्स हो रहा है)";
    else if (state === "interactive") msg += " (DOM तैयार, संसाधन लोड हो रहे हैं)";
    else if (state === "complete") msg += " (पूरी तरह से लोड)";

    document.querySelector(".show").innerHTML = msg;
  }
</script>
</body>
</html>

आउटपुट

पेज लोड होने के बाद "स्थिति जांचें" बटन पर क्लिक करने पर, आमतौर पर "complete" प्रदर्शित होता है। पेज लोड के दौरान जल्दी क्लिक करने पर "loading" या "interactive" दिख सकता है।

readyState बनाम इवेंट्स

दृष्टिकोण कब फायर होता है उपयोग
document.readyState === 'interactive' DOM पार्सिंग पूरी, DOM मैनिपुलेशन सुरक्षित जल्दी DOM एक्सेस (DOMContentLoaded के समतुल्य)
document.readyState === 'complete' सभी संसाधन लोडेड इमेज आयाम, लेआउट मापन
DOMContentLoaded इवेंट DOM पार्सिंग पूरी सबसे सामान्य: DOM तैयार होने पर कोड चलाएं
load इवेंट सभी संसाधन लोडेड इमेज/इफ्रेम आयाम, पूर्ण पेज इनिट

सामान्य पैटर्न

// यदि पहले से तैयार है तो तुरंत चलाएं, अन्यथा प्रतीक्षा करें
function runWhenReady(fn) {
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', fn);
  } else {
    fn(); // पहले से interactive या complete
  }
}

// या पूर्ण लोड के लिए:
function runWhenFullyLoaded(fn) {
  if (document.readyState === 'complete') {
    fn();
  } else {
    window.addEventListener('load', fn);
  }
}

उपयोग के मामले

  • थर्ड-पार्टी स्क्रिप्ट्स जो यह नहीं जानतीं कि वे कब लोड होती हैं।
  • शर्ती इनिशियलाइज़ेशन (उदाहरण: केवल तभी विजेट इनिट करें जब DOM तैयार हो)।
  • लोडिंग स्थिति डिबग करना / प्रदर्शित करना।
  1. HTML DOM doctype प्रॉपर्टी HTML DOM doctype प्रॉपर्टी

    HTML DOM doctype प्रॉपर्टी वर्तमान HTML दस्तावेज़ से जुड़े DTD (Document Type Declaration) को लौटाती है। यह एक रीड-ओनली प्रॉपर्टी है। यह doctype नाम को DocumentType ऑब्जेक्ट के रूप में लौटाती है। यदि दिए गए दस्तावेज़ के लिए कोई DTD निर्दिष्ट नहीं है तो यह null लौटा सकती है। सिंटैक्स doctype प्रॉपर्

  1. HTML DOM designMode प्रॉपर्टी HTML DOM designMode प्रॉपर्टी

    HTML DOM designMode प्रॉपर्टी हमें यह निर्दिष्ट करने की अनुमति देती है कि संपूर्ण दस्तावेज़ संपादन योग्य है या नहीं। यह HTML दस्तावेज़ को WYSIWYG (What You See Is What You Get) संपादक की तरह कार्य करने देता है क्योंकि हम HTML दस्तावेज़ को संपादित कर सकते हैं। यह प्रॉपर्टी डिफ़ॉल्ट रूप से off पर सेट

  1. HTML DOM Video readyState प्रॉपर्टी HTML DOM Video readyState प्रॉपर्टी

    HTML DOM Video readyState प्रॉपर्टी HTML DOM Video readyState प्रॉपर्टी वीडियो की वर्तमान रेडी स्थिति से संबंधित एक नंबर लौटाती है। सिंटैक्स नंबर मान प्राप्त करना mediaObject.readyState यहां, वापसी मान निम्न हो सकते हैं: 0 (HAVE_NOTHING) दर्शाता है कि कोई जानकारी उपलब्ध नहीं है 1 (HAVE_METADATA