2011-06-02 24 views
9

मुझे पता है कि विभिन्न सिद्धांत इस बात के बारे में अनिवार्य रूप से हैं कि एचटीएमएल कितना अनुपालन करता है, लेकिन यह आपके द्वारा निर्दिष्ट कार्यप्रणाली में क्या अंतर करता है? क्या डॉकटाइप के आधार पर ब्राउज़र एक ही कोड को अलग-अलग संभालते हैं? धन्यवादDOCTYPE का बिंदु क्या है?

अद्यतन - अधिकांश उत्तरों का उल्लेख क्विर्क मोड को सेट किया जा सकता है यदि कोई कार्यप्रणाली निर्दिष्ट नहीं है। लेकिन एक्सएचटीएमएल और एचटीएमएल 4.01 के बीच क्या अलग होगा?

उत्तर

5

सबसे बड़ी बात एक डॉक्टरेट है या नहीं। यदि आप नहीं करते हैं, तो ब्राउज़र मानक मोड के बजाय "क्विर्क" मोड में काम करेगा और कई चीजें थोड़ा अलग होंगी। यदि आपके पास   — कोई   — है जो आमतौर पर ब्राउज़र में अधिक मानकों-अनुरूप व्यवहार को सक्रिय करता है।

आदि क्या doctypes विभिन्न विभिन्न ब्राउज़रों पर कर का विवरण और क्या मोड   — quirks, मानकों, लगभग-मानकों,   — विभिन्न ब्राउज़रों के लिए this article देखें। एक प्रासंगिक अनुभाग का हवाला देते हुए: text/html सामग्री

पाठ/html सामग्री के लिए मोड के चुनाव के लिए

मोड doctype सूँघने (जो बाद में चर्चा की इस दस्तावेज़ में) पर निर्भर करता है। आईई 8 और आईई 9 में, मोड अन्य कारकों पर भी निर्भर करता है। हालांकि, IE8 और IE9 में भी डिफ़ॉल्ट रूप से, मोड गैर इंट्रानेट साइटों कि एक काली सूची माइक्रोसॉफ्ट द्वारा आपूर्ति पर नहीं हैं के लिए doctype पर निर्भर करता है।

यह पर्याप्त है कि मोड के सही व्यवहार ब्राउज़र से ब्राउज़र भले ही यह दस्तावेज़ में चर्चा एकीकृत किया गया है करने के लिए भिन्न होता है पर बल दिया नहीं जा सकता है।

असामान्य मोड

क्वर्क्स मोड ब्राउज़रों से बचने के पन्नों "तोड़ने" के क्रम में समकालीन वेब प्रारूप विनिर्देशों का उल्लंघन में प्रथाओं कि 1990 के दशक में प्रचलित थे के अनुसार लेखक । विभिन्न ब्राउज़र विभिन्न quirks लागू करते हैं। इंटरनेट एक्सप्लोरर 6, 7, 8 और 9, में क्विर्क मोड प्रभावी ढंग से आईई 5.5 जमे हुए है।अन्य ब्राउज़रों में, क्विर्क मोड से लगभग मानक मान मोड से विचलन का एक मुट्ठी भर है।

आप, अब नए पृष्ठों का लेखन कर रहे हैं आप प्रासंगिक विनिर्देशों ( विशेष रूप से सीएसएस 2.1) का पालन करने और मानक मोड का उपयोग करने वाले हैं।

मानक मोड

मानक मोड में ब्राउज़रों अनुरूप देने की कोशिश विनिर्देश के लिहाज से हद किसी खास ब्राउज़र में लागू करने के लिए सही उपचार दर्ज होते हैं।

चूंकि विभिन्न ब्राउज़र अनुपालन के विभिन्न चरणों में हैं, मानक मोड एक ही लक्ष्य नहीं है, या तो।

एचटीएमएल 5 इस मोड को "कोई quirks मोड" कहते हैं।

लगभग मानक मोड

फ़ायरफ़ॉक्स, सफ़ारी, क्रोम, ओपेरा (के बाद से 7.5), IE8 और IE9 के रूप में भी "लगभग मानक मोड" है, जो ऊर्ध्वाधर आकार को लागू करता है जाना जाता है एक विधा है सीएसएस 2 विनिर्देश के अनुसार तालिका कक्ष पारंपरिक रूप से और कठोर रूप से नहीं। मैक IE 5, विंडोज IE 6 और 7, ओपेरा 7.5 और Konqueror से पहले की जरूरत नहीं है एक लगभग मानक मोड, क्योंकि वे कड़ाई से में सीएसएस 2 विनिर्देश के अनुसार तालिका सेल की ऊर्ध्वाधर आकार को लागू नहीं करते उनके वैसे भी संबंधित मानक मोड। तथ्य में, उनके मानक मोड से अधिक पुराने ब्राउज़र के मानक मोड के मुकाबले लगभग मानक मोड में करीब हैं।

एचटीएमएल 5 इस मोड को "सीमित क्विर्क मोड" कहते हैं।

IE7 मोड

IE8 और IE9 एक विधा है कि ज्यादातर मोड कि IE7 में मानक मोड था की एक जमे हुए प्रतिलिपि है। अन्य ब्राउज़रों में जैसे मोड नहीं हैं, और यह मोड HTML5 द्वारा निर्दिष्ट नहीं है।

IE8 मानक मोड

IE9 एक विधा है कि ज्यादातर मोड कि IE8 में मानक मोड था की एक जमे हुए प्रतिलिपि है। अन्य ब्राउज़रों में जैसे मोड नहीं हैं, और यह मोड HTML5 द्वारा निर्दिष्ट नहीं है।

IE8 लगभग मानक मोड

IE9 एक मोड ज्यादातर मोड कि IE8 में लगभग मानक मोड था की एक जमे हुए प्रति है कि है। अन्य ब्राउज़रों इस तरह एक विधा नहीं करते हैं, और इस विधा एचटीएमएल 5 द्वारा निर्दिष्ट नहीं है।

... लेकिन पूरी चर्चा के लिए आलेख देखें।

2

यह सब कुछ मानकों के बारे में है और हाँ, ब्राउज़र कोड को अलग-अलग संभालते हैं। इसका मतलब है कि सभी ब्राउज़रों पृष्ठ को समान रूप से प्रदर्शित करना चाहिए। यदि कोई मानक निर्दिष्ट नहीं किया गया है, तो ब्राउज़र पृष्ठ की व्याख्या करेगा जैसा वह चाहता है।

2

घोषणा एक्सएचटीएमएल टैग नहीं है; यह वेब ब्राउज़र के लिए एक निर्देश है कि पृष्ठ के मार्कअप भाषा का कौन सा संस्करण लिखा गया है।

घोषणा एक दस्तावेज़ प्रकार परिभाषा (डीटीडी) को संदर्भित करती है। डीटीडी मार्कअप भाषा के नियमों को निर्दिष्ट करता है, ताकि ब्राउज़र सामग्री को सही तरीके से प्रस्तुत कर सकें।

2

Wikipedia से:

एक प्रलेख प्रकार घोषणा, या DOCTYPE, एक निर्देश है कि सहयोगियों एक विशेष SGML या XML दस्तावेज़ एक दस्तावेज़ प्रकार परिभाषा के साथ (उदाहरण के लिए, एक वेबपेज) (DTD) ( उदाहरण के लिए, HTML के एक विशेष संस्करण) की औपचारिक परिभाषा। दस्तावेज़ के क्रमबद्ध रूप में, यह मार्कअप की एक छोटी स्ट्रिंग के रूप में प्रकट होता है जो किसी विशेष वाक्यविन्यास के अनुरूप होता है। आधुनिक वेब में

एचटीएमएल लेआउट इंजन ब्राउज़रों DOCTYPE "सूँघने" या "स्विचिंग" करते हैं, जिसमें एक दस्तावेज़ में DOCTYPE पाठ के रूप में सेवा/HTML एक ले-आउट मोड ऐसे "quirks मोड" के रूप में निर्धारित करता है, या "मानकों मोड"का पाठ/एचटीएमएल क्रमबद्धता एचटीएमएल 5, जो एसजीएमएल-आधारित नहीं है, DOCTYPE केवल मोड चयन के लिए उपयोग करता है। चूंकि वेब ब्राउज़र विशेष प्रयोजन एचटीएमएल पारसर्स, बल्कि सामान्य प्रयोजन DTD आधारित पारसर्स से के साथ लागू किया जाता है, वे DTDs का उपयोग नहीं करते और उन तक पहुँच कभी नहीं होगा, भले ही एक यूआरएल प्रदान की है। DOCTYPE को एचटीएमएल 5 में "अधिक बेकार, लेकिन आवश्यक" हेडर केवल सामान्य ब्राउज़र में "मानकों मोड" को ट्रिगर करने के लिए बनाए रखा गया है

मैंने इस पाठ को उद्धृत करने का निर्णय लिया क्योंकि यह आपके प्रश्न का उत्तर मुझसे बेहतर है :)। यह महत्वपूर्ण है कि एक DOCTYPE के अभाव कुछ ब्राउज़र में "quirks मोड" ट्रिगर किया जाएगा।

1

डॉकटाइप घोषणा टैग से पहले, HTML दस्तावेज़ में पहली चीज़ होनी चाहिए।

यह एक एचटीएमएल टैग नहीं है, यह मार्कअप भाषा पेज में लिखा है कि किस संस्करण के बारे में वेब ब्राउज़र के लिए एक निर्देश है

यह एचटीएमएल 5 के साथ सरल हो रही है:। <!DOCTYPE html>

आपको लगता है कि उचित doctype की जरूरत नहीं है, तो ब्राउज़र जीता 'टी एचटीएमएल 5 का उपयोग करने के पता है।

2

DOCTYPE घोषणा एसजीएमएल के अनुरूप होने की आवश्यकता है, भाषा HTML एक उदाहरण है।

कुछ ब्राउज़र द्वारा DOCTYPE घोषणा का उपयोग trigger different rendering modes पर किया जाता है।

0

क्योंकि डॉक्टरेट यह बताता है कि ब्राउजर को पेज को कैसे संभालना चाहिए।

उदाहरण के लिए:

एचटीएमएल 5 इस doctype <!DOCTYPE html> जरूरत है आप पेज से निकालते हैं, तो अपने पृष्ठ के अंदर किसी भी एचटीएमएल 5 क्षमताओं सक्रिय नहीं किया जाएगा।

आप http://www.w3.org/QA/Tips/Doctype

+1

निश्चित रूप से नहीं। ब्राउज़र HTML के संस्करणों को अलग नहीं करते हैं। आपका ब्राउज़र आपके पृष्ठ के अंदर एचटीएमएल 5 फीचर्स का उपयोग करने में सक्षम होगा चाहे आप एचटीएमएल 5 डिक्टिप, एक्सएचटीएमएल 1 डॉक्ट टाइप या एचटीएमएल 4 डॉक्ट टाइप करें (बस सुनिश्चित करें कि आपका डॉक्टरेट मानकों-अनुपालन मोड को ट्रिगर करता है)। – duri

+0

क्षमा करें रूडी मुझे आपको कम करना पड़ा क्योंकि यह कहना गलत है कि html5 एक कार्यप्रणाली के बिना काम नहीं करेगा। यदि आप इसे – stephenmurdoch

+1

दस्तावेज़ों से बाहर छोड़ते हैं तो ब्राउज़र _might_ मानक मानदंड मोड में नहीं चलाता है _ _ DOCTYPE घोषणा है और HTML वाक्यविन्यास में केस-असंवेदनशील है। एचटीएमएल के पुराने संस्करणों से DOCTYPEs लंबे थे क्योंकि HTML भाषा एसजीएमएल आधारित थी और इसलिए डीटीडी के संदर्भ की आवश्यकता थी। एचटीएमएल 5 के साथ यह अब मामला नहीं है और * DOCTYPE केवल HTML वाक्यविन्यास * का उपयोग करके लिखे गए दस्तावेज़ों के मानकों मोड को सक्षम करने के लिए आवश्यक है। ब्राउजर पहले से ही ._ – Xaerxess

2

अधिक में ब्राउज़र मोड

अतीत में वापस पढ़ सकते हैं अपने खुद के नियमों को लागू किया सीएसएस वे ब्राउज़र।
केवल पिछले कुछ वर्षों में ब्राउज़र ने डब्ल्यू 3 सी मानकों को अनुकूलित किया है।

यह सुनिश्चित करने के लिए कि वेबसाइटों ने सही ढंग से विभिन्न ब्राउज़रों को प्रस्तुत किया है, वेब डेवलपर्स को इन ब्राउज़रों की इच्छाओं के अनुसार सीएसएस लागू करना था। इस प्रकार, अधिकांश वेबसाइटें सीएसएस का इस्तेमाल उन तरीकों से करती हैं जो विनिर्देशों से काफी मेल नहीं खाती हैं।

इसलिए, जब मानकों की जटिलता महत्वपूर्ण ब्राउज़र विक्रेताओं को मुश्किल विकल्प का सामना करना पड़ा। W3C विनिर्देशों के करीब जाने का तरीका था, लेकिन अगर वे पूरी तरह से मानकों से मेल खाने के लिए सीएसएस कार्यान्वयन को बदल देंगे, तो कई वेबसाइटें अधिक या कम हद तक टूट जाएंगी। मौजूदा सीएसएस अजीब साइड इफेक्ट्स दिखाना शुरू कर देगा अगर इसे अचानक सही तरीके से व्याख्या किया गया था।

तो मानकों के अनुपालन के करीब जाने से समस्याएं पैदा हो जाएंगी। दूसरी ओर, मानक अनुपालन के करीब नहीं बढ़ने से ब्राउज़र युद्ध युग के सामान्य भ्रम को कायम रखा जाएगा।

इस अंत तक सभी ब्राउज़र को दोनों मोड का समर्थन करना शुरू करना पड़ा। नए डिजाइन के लिए पुराने डिजाइन और मानक मोड के लिए क्विर्क मोड।

यहां से भावानूदित: Quirks mode and strict mode

doctypes

किस प्रकार मोड का उपयोग करने के लिए एक ट्रिगर आवश्यकता है, और इस ट्रिगर 'doctype स्विचिंग' में मिला था। मानकों के मुताबिक, किसी भी (एक्स) एचटीएमएल दस्तावेज़ में एक डॉक्टरेट होना चाहिए जो दुनिया को बड़े पैमाने पर बताता है कि (एक्स) एचटीएमएल का स्वाद किस दस्तावेज़ का उपयोग कर रहा है।

यहाँ भी से लिया: Quirks mode and strict mode

Additonal संसाधन

संबंधित मुद्दे