डायनेमिक एचटीएमएल (Dynamic HTML)
डायनेमिक एचटीएमएल (dynamic HTML) या DHTML, इंटरैक्टिव और एनिमेटेड वेब साइट बनाने के लिए प्रौद्योगिकियों के एक संग्रह के लिए प्रयुक्त एक बृहद शब्दावली है। इसके लिए स्टेटिक मार्कअप भाषा (जैसे HTML), एक क्लाइंट-साइड स्क्रिप्टिंग भाषा (जैसे जावास्क्रिप्ट (JavaScript)), एक प्रेजेनटेशन डेफीनेशन भाषा (जैसे सीएसएस (CSS)) और डोकुमेंट ऑब्जेक्ट मॉडल का इस्तेमाल किया जाता है।
DHTML एक वेब पृष्ठ के डेफीनेशन भाषा में चर वस्तुओं को बदलने के लिए स्क्रिप्टिंग भाषाओं की अनुमति देता है, जो कि पृष्ठ को पूरी तरह से लोड करने के "बाद" और देखने की प्रक्रिया के दौरान स्टेटिक HTML पृष्ठ सामग्री के दृश्य और अन्यथा कार्यों को प्रभावित करता है। अतः DHTML की गतिशील विशेषता वह तरिका है जिस तरीके से वह पृष्ठ को देखे जाते समय कार्य करता है और प्रत्येक पृष्ठ के लोड होने के साथ एक अद्वितीय पृष्ठ उत्पन्न करने की इसकी क्षमता नहीं होती.
इसके विपरीत, एक गतिशील वेब पेज एक व्यापक अवधारणा है - प्रत्येक उपयोगकर्ता, लोड अकरेंस, या विशिष्ट चर वस्तु मूल्य के लिए कोई भी वेब पृष्ठ अलग उत्पन्न करता है। इसमें क्लाइंट-साइड स्क्रिप्टिंग, एक बार सर्वर-साइड स्क्रिप्टिंग (जैसे PHP, पर्ल, JSP या ASP.NET) द्वारा निर्मित पृष्ठ शामिल है, जहां वेब सर्वर इसे ग्राहक को भेजने से पहले सामग्री को उत्पन्न करता है।
DHTML, निर्माणकर्ताओं को उनके पृष्ठों के लिए प्रभाव को जोड़ने की अनुमति देता है जो कि अन्यथा मुश्किल है। उदाहरण के लिए, DHTML पृष्ठ के लिए निर्माणकर्ता को अनुमति देता है: एक कम सामान्य उपयोग, ब्राउज़र-आधारित एक्शन गेम निर्माण है। 1990 के दशक के उत्तरार्ध और 2000 दशक के प्रारम्भ के दौरान कई गेमों का निर्माण DHTML का उपयोग करके किया गया, लेकिन ब्राउज़रों के बीच मतभेद से इस मुश्किल बनाया: कई प्लेटफार्मों पर खेल को सक्षम करने के लिए कोड में कई तकनीकों को लागू किया जाना चाहिए था। हाल में, ब्राउज़र, वेब मानक में तब्दील किये जा रहे है जिससे DHTML गेम के डिजाइन अधिक व्यवहार्य बन गए हैं। उन खेलों को सभी प्रमुख ब्राउजरों में खेला जा सकता है और मैक ओएस एक्स (Mac OS X) के लिए विजेट्स और विंडोज विस्टा के लिए गैजेट रख सकते हैं जो कि DHTML पर आधारित होते हैं।
हाल के वर्षों में शब्द "DHTML" का इस्तेमाल कम हो गया है, क्योंकि DHTML स्क्रिप्ट अक्सर विभिन्न वेब ब्राउजरों के बीच ठीक से काम नहीं करती है। DHTML को वर्तमान में अनओबट्रुसिव जावास्क्रिप्ट कोडिंग (DOM स्क्रिप्टिंग) के रूप में संदर्भित किया जाता है, सहमति वाले सर्वश्रेष्ठ अभ्यास पर एक प्रभाव को स्थापित करने के प्रयास में जबकि एक सुलभ, मानक-अनुवर्ती तरीकों में समान प्रभाव की अनुमति होती है।
DHTML के कुछ नुकसान यह हैं कि वेब ब्राउजरो में शामिल प्रौद्योगिकी के बीच समर्थन के पृथक स्तर के कारण इसका विकास और इसे डिबग करना मुश्किल हो गया है और स्क्रीन के विभिन्न आकार का अर्थ हैं सीमित संख्या में ब्राउजर और स्क्रीन आकार संयोजन पर अंतिम दृश्य फाइन-ट्युन हो सकते हैं। अपेक्षाकृत हाल के ब्राउजरों के लिए विकास जैसे इंटरनेट एक्सप्लोरर 5.0 +, मोज़िला फायरफोक्स 2.0 + और ओपेरा 7.0 + शेयर्ड डोक्युमेंट ऑब्जेक्ट मॉडल द्वारा सहायता प्राप्त होते हैं। बुनियादी DHTML सपोर्ट को इंटरनेट एक्सप्लोरर 4.0 के साथ पेश किया गया था, हालांकि नेटस्केप नेविगेटर 4.0 के साथ मूल गतिशील सिस्टम था। jQuery जैसे जावास्क्रिप्ट लाइब्रेरी, क्रॉस-ब्राउज़र DOM परिचालन में दिन-ब-दिन बढ़ती कठिनाइयों को दूर करता गया।
आमतौर पर एक वेब DHTML का उपयोग कर पृष्ठ को निम्नलिखित तरीके से सेट किया जाता है:उपरोक्त कोड में, नीले रंग का कोड दस्तावेज़ के प्रकार की घोषणा करता है, जो कि वेबसाइट के निर्माण के लिए मार्कअप कोड के किस संस्करण का उपयोग किया गया है उसे निर्दिष्ट करता है। लाल कोड ब्राउज़र डिटेक्शन जावास्क्रिप्ट को प्रदर्शित करता है, जो ब्राउजर अप्लीकेशन मानक और आवश्यकताओं को समायोजित करने के लिए वेब पृष्ठ को सक्षम बनाता है।
निम्न कोड एक अक्सर इस्तेमाल किये जाने वाले कार्यों को दिखाता है। एक वेब पेज का अतिरिक्त हिस्सा केवल उपयोगकर्ता के अनुरोधों पर ही प्रदर्शित किया जाएगा.