क्वर्क्स मोड: Difference between revisions
Line 4: | Line 4: | ||
== संक्षिप्त विवरण == | == संक्षिप्त विवरण == | ||
एक वेब पृष्ठ | एक वेब पृष्ठ की संरचना और उपस्थिति को दो मानकीकृत भाषाओं के संयोजन द्वारा वर्णित किया जाता है। | ||
* [[HTML|एचटीएमएल]] एक मार्कअप भाषा है जो वेब के उपयोग के लिए प्ररूपित की गई है, जिसमें पृष्ठ की संरचना और विषय वस्तु का वर्णन किया जाता है। | * [[HTML|एचटीएमएल]] एक मार्कअप भाषा है जो वेब के उपयोग के लिए प्ररूपित की गई है, जिसमें पृष्ठ की संरचना और विषय वस्तु का वर्णन किया जाता है। | ||
*सीएसएस एक सामान्यीकृत [[स्टाइल शीट (वेब विकास)|स्टाइल शीट]] भाषा है जो विभिन्न मीडिया में पृष्ठ को कैसे दिखाया जाना चाहिए को निर्धारित करती है जैसे स्क्रीन प्रदर्शन के लिए दृश्य शैलियाँ, पृष्ठ को प्रिंट करने पर उपयोग करने के लिए प्रिंट शैलियाँ, [[स्क्रीन रीडर]] द्वारा उच्चारित करने पर उपयोग करने के लिए श्रव्य शैलियाँ आदि। | *सीएसएस एक सामान्यीकृत [[स्टाइल शीट (वेब विकास)|स्टाइल शीट]] भाषा है जो विभिन्न मीडिया में पृष्ठ को कैसे दिखाया जाना चाहिए को निर्धारित करती है जैसे स्क्रीन प्रदर्शन के लिए दृश्य शैलियाँ, पृष्ठ को प्रिंट करने पर उपयोग करने के लिए प्रिंट शैलियाँ, [[स्क्रीन रीडर]] द्वारा उच्चारित करने पर उपयोग करने के लिए श्रव्य शैलियाँ आदि। | ||
यद्यपि, अधिकांश पुराने वेब ब्राउज़रों ने या तो इन भाषाओं के लिए पूरी तरह से विन्यास का पालन नहीं किया था या फिर यह निर्धारण संकलन के पहले विकसित किए गए थे, उदाहरण के लिए, 2000 में रिलीज़ हुई बृहत प्लेटफॉर्म के लिए माइक्रोसॉफ्ट इंटरनेट अन्वेषक संस्करण 5.0 एक प्रमुख वेब ब्राउज़र था जिसमें पूर्ण समर्थन सीएसएसस्तर 1 के लिए था।<ref>{{cite web|url=http://www.w3.org/Style/CSS/#browsers|title=Cascading Style Sheets: CSS Browsers|publisher=[[World Wide Web Consortium]]|access-date=27 May 2007|date=19 December 2001}}</ref> इस परिणामस्वरूप, कई पुराने वेब पेज पुराने ब्राउज़रों की अपूर्ण या गलत कार्यान्वयन पर आधारित थे और ये केवल तब इच्छित रूप से प्रदर्शित होंगे जब ऐसे ब्राउज़र में प्रस्तुत किए जाएंगे। | यद्यपि, अधिकांश पुराने वेब ब्राउज़रों ने या तो इन भाषाओं के लिए पूरी तरह से विन्यास का पालन नहीं किया था या फिर यह निर्धारण संकलन के पहले विकसित किए गए थे, उदाहरण के लिए, 2000 में रिलीज़ हुई बृहत प्लेटफॉर्म के लिए माइक्रोसॉफ्ट इंटरनेट अन्वेषक संस्करण 5.0 एक प्रमुख वेब ब्राउज़र था जिसमें पूर्ण समर्थन सीएसएसस्तर 1 के लिए था।<ref>{{cite web|url=http://www.w3.org/Style/CSS/#browsers|title=Cascading Style Sheets: CSS Browsers|publisher=[[World Wide Web Consortium]]|access-date=27 May 2007|date=19 December 2001}}</ref> इस परिणामस्वरूप, कई पुराने वेब पेज पुराने ब्राउज़रों की अपूर्ण या गलत कार्यान्वयन पर आधारित थे और ये केवल तब इच्छित रूप से प्रदर्शित होंगे जब ऐसे ब्राउज़र में प्रस्तुत किए जाएंगे। | ||
मुख्य वेब ब्राउज़रों में मानक [[HTML|एचटीएमएल]] और सीएसएस के समर्थन में काफी वृद्धि हुई है, लेकिन पुराने ब्राउज़रों के विचित्रताओं पर आधारित पुराने दस्तावेज़ों की विशाल संख्या वेब ब्राउज़र विकासकों के लिए एक बाधा प्रदान करती है। वे अपने समर्थन को मानक [[HTML|एचटीएमएल]] और सीएसएस के लिए सुधारना चाहते हैं, परंतु पुराने, मानकों के अनुरूप पृष्ठों के प्रतिष्ठान को भी बनाए रखना चाहते हैं। इसके अतिरिक्त, कई नए वेब पृष्ठ अभी भी पुराने तरीके में बनाए जा रहे हैं, क्योंकि ब्राउज़र विकासकों द्वारा प्रस्तुत योग्यता, उपायों के कारण मानकीकृत विधियों की समझ नियमित रूप से आवश्यक नहीं होती है। | |||
सबसे अधिक संख्या के वेब पृष्ठों के साथ संगतता बनाए रखने के लिए, आधुनिक वेब ब्राउज़र सामान्यतः कई प्रतिपादन मोड के साथ विकसित किए जाते हैं: "क्वर्क्स मोड" में पृष्ठों को [[HTML|एचटीएमएल]] और सीएसएस निर्देशिका के अनुसार रेंडर किया जाता है, जबकि "क्वर्क्स मोड" में पुराने ब्राउज़रों के व्यवहार की अनुकरण की कोशिश की जाती है। कुछ ब्राउज़र जैसे कि मोज़िला के गेको प्रतिपादन इंजन पर आधारित ब्राउज़र या इंटरनेट अंवेषक 8 स्ट्रिक्ट मोड में "लगभग मानकों" मोड का उपयोग भी करते हैं, जिसका प्रयास किया जाता है कि दोनों के मध्य समझौता किया जाए, जिससे एक विचित्रता को टेबल सेल के आकारणीकरण के लिए लागू किया जा सके जबकि अन्य मानकों का पालन किया जाए। | |||
== मोड अंतर और उदाहरण == | |||
क्वर्क्स और नो-क्वर्क्स मोड के मध्य एक प्रमुख अंतर है सीएसएस इंटरनेट अंवेषक बॉक्स प्रारूप बग के संबंध में इंटरनेट अंवेषक के 6 संस्करण से पहले, इंटरनेट अंवेषक ने एक कलन विधि का उपयोग किया था जिससे किसी तत्व के बॉक्स की चौड़ाई का निर्धारण किया जाता था, जो सीएसएस निर्देशिका में विवरणित कलन विधि के विपरीत था। इंटरनेट अंवेषक की लोकप्रियता के कारण, बहुत सारे पृष्ठ ऐसे बनाए गए थे जो इस गैर-मानक कलन विधि पर आधारित थे। 6 संस्करण के उपरांत, इंटरनेट अंवेषक नो-क्वर्क्स मोड में रेंडर करते समय सीएसएस निर्देशिका के कलन विधि का उपयोग करता है और क्वर्क्स मोड में रेंडर करते समय पिछले, गैर-मानक कलन विधि का उपयोग करता है। | |||
एक अन्य महत्वपूर्ण अंतर है कुछ प्रकार के इंलाइन सामग्री की लंबवत संरेखण; कई पुराने ब्राउज़रों में छवियों को उनके संरचनात्मक बॉक्स के नीचे की सीमा से संरेखित किया जाता था, यद्यपि सीएसएस निर्देशिका मांगती है कि वे बॉक्स में पाठ की बेसलाइन से संरेखित होने चाहिए। नो-क्वर्क्स मोड में, गेको आधारित ब्राउज़र बेसलाइन से संरेखित होंगे, और क्वर्क्स मोड में वे नीचे संरेखित होंगे।<ref>{{cite web|url=https://developer.mozilla.org/en/docs/Images,_Tables,_and_Mysterious_Gaps|title=छवियाँ, टेबल्स, और रहस्यमय अंतराल|publisher=Mozilla Developer Center|access-date=27 May 2007|archive-date=22 May 2017|archive-url=https://web.archive.org/web/20170522085646/https://developer.mozilla.org/en/docs/Images,_Tables,_and_Mysterious_Gaps|url-status=dead}}</ref> | |||
इसके अतिरिक्त, कई पुराने ब्राउज़र तालिकाओं में फ़ॉन्ट शैलियों की अनुग्रहीता को कार्यान्वित नहीं करते थे। इस परिणामस्वरूप, फ़ॉन्ट शैलियों को दस्तावेज़ संपूर्णता के लिए एक बार और फिर से तालिका के लिए निर्दिष्ट करना पड़ता था, हालांकि CSS निर्देशिका मांगती है कि फ़ॉन्ट शैलिंग तालिका में अनुग्रहीत होनी चाहिए।, तो एक मानक-अनुरूप ब्राउज़र मूल फ़ॉन्ट आकार प्राप्त करेगा, फिर तालिका के भीतर सापेक्ष फ़ॉन्ट आकार लागू करें: उदाहरण के लिए, एक पृष्ठ जिसने 80% का आधार फ़ॉन्ट आकार और तालिका फ़ॉन्ट घोषित किया 80% का आकार (ब्राउज़रों में 80% का आकार सुनिश्चित करने के लिए जो उचित रूप से फ़ॉन्ट आकार प्राप्त नहीं करते हैं), मानक-अनुरूप ब्राउज़र में, 64% (80% का 80%) के फ़ॉन्ट आकार के साथ टेबल प्रदर्शित करेगा। नतीजतन, ब्राउज़र आमतौर पर फॉन्ट साइज को क्वर्क्स मोड में टेबल में इनहेरिट नहीं करते हैं।<ref>{{cite web|url=https://developer.mozilla.org/en/docs/Fixing_Table_Inheritance_in_Quirks_Mode|title=Quirks मोड में तालिका वंशानुक्रम को ठीक करना|publisher=Mozilla Developer Center|access-date=27 May 2007|archive-date=3 March 2016|archive-url=https://web.archive.org/web/20160303205342/https://developer.mozilla.org/en/docs/Fixing_Table_Inheritance_in_Quirks_Mode|url-status=dead}}</ref> | |||
===सीमित quirks मोड=== | ===सीमित quirks मोड=== | ||
एक तीसरा संगतता मोड जिसे सीमित क्विर्क्स मोड (पहले, लगभग मानक मोड या सख्त मोड) के रूप में जाना जाता है, जो [[CSS2]] विनिर्देश के अनुसार तालिका कोशिकाओं के पारंपरिक ऊर्ध्वाधर आकार को बनाए रखता है, इन ब्राउज़रों में लागू किया गया है: [[सफारी (वेब ब्राउज़र)]], ओपेरा ( वेब ब्राउज़र) 7.5 (और बाद में), 1.0.1 (जैसे [[फ़ायरफ़ॉक्स]]) और इंटरनेट | एक तीसरा संगतता मोड जिसे सीमित क्विर्क्स मोड (पहले, लगभग मानक मोड या सख्त मोड) के रूप में जाना जाता है, जो [[CSS2]] विनिर्देश के अनुसार तालिका कोशिकाओं के पारंपरिक ऊर्ध्वाधर आकार को बनाए रखता है, इन ब्राउज़रों में लागू किया गया है: [[सफारी (वेब ब्राउज़र)]], ओपेरा ( वेब ब्राउज़र) 7.5 (और बाद में), 1.0.1 (जैसे [[फ़ायरफ़ॉक्स]]) और इंटरनेट अंवेषक 8 के बाद से सभी गेको (लेआउट इंजन)-आधारित ब्राउज़र।<ref name="sivonen">{{cite web|url=http://hsivonen.iki.fi/doctype/|title=Doctype के साथ ब्राउज़र मोड सक्रिय करना|last=Sivonen|first=Henri|access-date=15 March 2011}}</ref> | ||
लगभग मानक मोड | लगभग मानक मोड प्रतिपादन एक को छोड़कर सभी विवरणों में मानक मोड से मेल खाता है। तालिका कक्षों के अंदर छवियों के लेआउट को उसी तरह से नियंत्रित किया जाता है जैसे कि quirks मोड संचालित होता है, इसके बजाय, जो [[इंटरनेट एक्सप्लोरर 7|इंटरनेट अंवेषक 7]] (और पहले) जैसे [[ विरासती तंत्र ]] ब्राउज़रों के साथ काफी संगत है। इसका मतलब यह है कि स्लाइस-इमेज-इन-टेबल लेआउट के ब्राउजर में अलग होने की संभावना कम होती है, जब मानक मोड के बजाय या तो विचित्रता या लगभग मानक मोड में।<ref>{{cite web|url=https://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode|title=गेको का "लगभग मानक" मोड|publisher=Mozilla Developer Center|access-date=27 May 2007|url-status=dead|archive-url=https://web.archive.org/web/20040603172205/http://devedge.netscape.com/viewsource/2002/almost-standards/|archive-date=3 June 2004}}</ref> | ||
== विभिन्न | == विभिन्न प्रतिपादन मोड्स को ट्रिगर करना == | ||
अक्सर, ब्राउज़र यह निर्धारित करते हैं कि पृष्ठ में [[दस्तावेज़ प्रकार घोषणा]] की उपस्थिति के आधार पर किस | अक्सर, ब्राउज़र यह निर्धारित करते हैं कि पृष्ठ में [[दस्तावेज़ प्रकार घोषणा]] की उपस्थिति के आधार पर किस प्रतिपादन मोड का उपयोग करना है; यदि एक पूर्ण DOCTYPE मौजूद है तो ब्राउज़र नो-क्विर्क्स मोड का उपयोग करेगा, और यदि यह अनुपस्थित है तो ब्राउज़र क्विर्क्स मोड का उपयोग करेगा। उदाहरण के लिए, एक वेब पृष्ठ जो निम्नलिखित DOCTYPE से शुरू होता है, नो-क्विर्क्स मोड को ट्रिगर करेगा: | ||
<वाक्यविन्यास लैंग = html4सख्त> | <वाक्यविन्यास लैंग = html4सख्त> | ||
Line 43: | Line 43: | ||
इसके अतिरिक्त, एक वेब पृष्ठ जिसमें DOCTYPE बिल्कुल भी शामिल नहीं है, quirks मोड में रेंडर करेगा। | इसके अतिरिक्त, एक वेब पृष्ठ जिसमें DOCTYPE बिल्कुल भी शामिल नहीं है, quirks मोड में रेंडर करेगा। | ||
इसका एक उल्लेखनीय अपवाद [[माइक्रोसॉफ्ट]] का [[इंटरनेट एक्सप्लोरर 6]] ब्राउज़र है, जो एक पृष्ठ को विचित्र मोड में प्रस्तुत करेगा यदि DOCTYPE के पहले एक [[XML]] प्रोलॉग है, भले ही एक पूर्ण DOCTYPE निर्दिष्ट किया गया हो। इस प्रकार एक [[एक्सएचटीएमएल]] पृष्ठ जो निम्नलिखित कोड से शुरू होता है, आईई 6 द्वारा क्विर्क मोड में प्रस्तुत किया जाएगा: | इसका एक उल्लेखनीय अपवाद [[माइक्रोसॉफ्ट]] का [[इंटरनेट एक्सप्लोरर 6|इंटरनेट अंवेषक 6]] ब्राउज़र है, जो एक पृष्ठ को विचित्र मोड में प्रस्तुत करेगा यदि DOCTYPE के पहले एक [[XML]] प्रोलॉग है, भले ही एक पूर्ण DOCTYPE निर्दिष्ट किया गया हो। इस प्रकार एक [[एक्सएचटीएमएल]] पृष्ठ जो निम्नलिखित कोड से शुरू होता है, आईई 6 द्वारा क्विर्क मोड में प्रस्तुत किया जाएगा: | ||
<वाक्यविन्यास लैंग = html4सख्त> | <वाक्यविन्यास लैंग = html4सख्त> | ||
Line 61: | Line 61: | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
एक्सएमएल घोषणा के साथ समस्या इंटरनेट | एक्सएमएल घोषणा के साथ समस्या इंटरनेट अंवेषक के संस्करण 7 में तय की गई थी, जिसमें एक्सएमएल प्रोलॉग को आसानी से नजरअंदाज कर दिया गया था।<ref>{{cite web|url=http://blogs.msdn.com/ie/archive/2005/09/15/467901.aspx|title=The <?xml> prolog, strict mode, and XHTML in IE|last=Wilson|first=Chris|work=IEBlog|publisher=[[Microsoft Developer Network|MSDN]]|access-date=27 May 2007|date=15 August 2005}}</ref> हालांकि, मौजूदा और पुराने वेब ब्राउज़रों के साथ अधिकतम संगतता के लिए, वर्ल्ड वाइड वेब कंसोर्टियम, जो एक्सएचटीएमएल विनिर्देश को बनाए रखता है, सुझाव देता है कि एक्सएचटीएमएल दस्तावेजों के लेखक एक्सएमएल घोषणा को छोड़ने पर विचार कर सकते हैं।<ref>{{cite web | ||
|url=http://www.w3.org/TR/xhtml1/#guidelines | |url=http://www.w3.org/TR/xhtml1/#guidelines | ||
|title=HTML Compatibility Guidelines | |title=HTML Compatibility Guidelines | ||
Line 72: | Line 72: | ||
=== दस्तावेज़ प्रकारों की तुलना === | === दस्तावेज़ प्रकारों की तुलना === | ||
हेनरी सिवोनेन ने विभिन्न प्रकार के दस्तावेज़ों की एक सूची संकलित की और यह दिखाते हुए कि सबसे सामान्य ब्राउज़रों में उनके साथ कैसे व्यवहार किया जाता है, यह दिखाते हुए कि क्या पृष्ठों को क्वर्क्स, मानक या लगभग मानक मोड में प्रस्तुत किया गया है। लगभग मानक मोड के लिए उपयोग किया जाने वाला मानदंड गैर-मानक तालिका सेल ऊँचाई | हेनरी सिवोनेन ने विभिन्न प्रकार के दस्तावेज़ों की एक सूची संकलित की और यह दिखाते हुए कि सबसे सामान्य ब्राउज़रों में उनके साथ कैसे व्यवहार किया जाता है, यह दिखाते हुए कि क्या पृष्ठों को क्वर्क्स, मानक या लगभग मानक मोड में प्रस्तुत किया गया है। लगभग मानक मोड के लिए उपयोग किया जाने वाला मानदंड गैर-मानक तालिका सेल ऊँचाई प्रतिपादन है। यह तालिका सामग्री-प्रकार टेक्स्ट/एचटीएमएल के साथ दी गई सामग्री पर लागू होती है। सामग्री-प्रकार एप्लिकेशन/xhtml+xml के साथ प्रदान की जाने वाली सामग्री क्रोम, फ़ायरफ़ॉक्स, इंटरनेट अंवेषक 9, सफारी और ओपेरा में मानक मोड में प्रस्तुत की जाती है। इंटरनेट अंवेषक 6, 7 और 8 [[ सामग्री प्रकार ]] एप्लिकेशन/xhtml+xml को सपोर्ट नहीं करते हैं।<ref name="sivonen" /> | ||
{| class="wikitable" style="font-size: 0.95em; text-align: center; width: auto;" | {| class="wikitable" style="font-size: 0.95em; text-align: center; width: auto;" | ||
Line 284: | Line 284: | ||
=== मोड सत्यापन === | === मोड सत्यापन === | ||
अधिकांश ब्राउज़रों में, दस्तावेज़ ऑब्जेक्ट मॉडल एक्सटेंशन {{mono|document.compatMode}} वर्तमान पृष्ठ के लिए | अधिकांश ब्राउज़रों में, दस्तावेज़ ऑब्जेक्ट मॉडल एक्सटेंशन {{mono|document.compatMode}} वर्तमान पृष्ठ के लिए प्रतिपादन मोड इंगित करता है। मानक मोड और लगभग-मानक मोड में, {{mono|document.compatMode}} में CSS1Compat मान होता है, जबकि quirks मोड में यह BackCompat के बराबर होता है।<ref>{{cite web | ||
|url=http://www.quirksmode.org/dom/w3c_html.html#misc | |url=http://www.quirksmode.org/dom/w3c_html.html#misc | ||
|title=Miscellaneous | |title=Miscellaneous | ||
Line 294: | Line 294: | ||
|access-date=14 February 2009 | |access-date=14 February 2009 | ||
}}</ref> | }}</ref> | ||
इसके अतिरिक्त, [[मोज़िला फ़ायरफ़ॉक्स]] और ओपेरा (वेब ब्राउज़र) में किसी दिए गए पृष्ठ के लिए उपयोग किए जाने वाले | इसके अतिरिक्त, [[मोज़िला फ़ायरफ़ॉक्स]] और ओपेरा (वेब ब्राउज़र) में किसी दिए गए पृष्ठ के लिए उपयोग किए जाने वाले प्रतिपादन मोड को 'पृष्ठ जानकारी' सूचनात्मक बॉक्स पर इंगित किया गया है। | ||
==संदर्भ== | ==संदर्भ== |
Revision as of 18:38, 25 June 2023
HTML |
---|
Comparisons |
कम्प्यूटिंग में, क्वर्क्स मोड एक ऐसी तकनीक है जिसका उपयोग कुछ वेब ब्राउज़रो द्वारा मानक मोड में W3C और आईईटीएफ मानकों का कड़ाई से अनुपालन करने के अतिरिक्त पुराने वेब ब्राउज़रों के लिए प्रारुप किए गए वेब पृष्ठ के साथ पिछड़े संगतता बनाए रखने के लिए किया जाता है। यह व्यवहार बाद में मानक में संकलित किया गया है, इसलिए जो पहले मानक मोड था, अब इसे साधारण रूप से क्वर्क्स मोड कहा जाता है।
संक्षिप्त विवरण
एक वेब पृष्ठ की संरचना और उपस्थिति को दो मानकीकृत भाषाओं के संयोजन द्वारा वर्णित किया जाता है।
- एचटीएमएल एक मार्कअप भाषा है जो वेब के उपयोग के लिए प्ररूपित की गई है, जिसमें पृष्ठ की संरचना और विषय वस्तु का वर्णन किया जाता है।
- सीएसएस एक सामान्यीकृत स्टाइल शीट भाषा है जो विभिन्न मीडिया में पृष्ठ को कैसे दिखाया जाना चाहिए को निर्धारित करती है जैसे स्क्रीन प्रदर्शन के लिए दृश्य शैलियाँ, पृष्ठ को प्रिंट करने पर उपयोग करने के लिए प्रिंट शैलियाँ, स्क्रीन रीडर द्वारा उच्चारित करने पर उपयोग करने के लिए श्रव्य शैलियाँ आदि।
यद्यपि, अधिकांश पुराने वेब ब्राउज़रों ने या तो इन भाषाओं के लिए पूरी तरह से विन्यास का पालन नहीं किया था या फिर यह निर्धारण संकलन के पहले विकसित किए गए थे, उदाहरण के लिए, 2000 में रिलीज़ हुई बृहत प्लेटफॉर्म के लिए माइक्रोसॉफ्ट इंटरनेट अन्वेषक संस्करण 5.0 एक प्रमुख वेब ब्राउज़र था जिसमें पूर्ण समर्थन सीएसएसस्तर 1 के लिए था।[1] इस परिणामस्वरूप, कई पुराने वेब पेज पुराने ब्राउज़रों की अपूर्ण या गलत कार्यान्वयन पर आधारित थे और ये केवल तब इच्छित रूप से प्रदर्शित होंगे जब ऐसे ब्राउज़र में प्रस्तुत किए जाएंगे।
मुख्य वेब ब्राउज़रों में मानक एचटीएमएल और सीएसएस के समर्थन में काफी वृद्धि हुई है, लेकिन पुराने ब्राउज़रों के विचित्रताओं पर आधारित पुराने दस्तावेज़ों की विशाल संख्या वेब ब्राउज़र विकासकों के लिए एक बाधा प्रदान करती है। वे अपने समर्थन को मानक एचटीएमएल और सीएसएस के लिए सुधारना चाहते हैं, परंतु पुराने, मानकों के अनुरूप पृष्ठों के प्रतिष्ठान को भी बनाए रखना चाहते हैं। इसके अतिरिक्त, कई नए वेब पृष्ठ अभी भी पुराने तरीके में बनाए जा रहे हैं, क्योंकि ब्राउज़र विकासकों द्वारा प्रस्तुत योग्यता, उपायों के कारण मानकीकृत विधियों की समझ नियमित रूप से आवश्यक नहीं होती है।
सबसे अधिक संख्या के वेब पृष्ठों के साथ संगतता बनाए रखने के लिए, आधुनिक वेब ब्राउज़र सामान्यतः कई प्रतिपादन मोड के साथ विकसित किए जाते हैं: "क्वर्क्स मोड" में पृष्ठों को एचटीएमएल और सीएसएस निर्देशिका के अनुसार रेंडर किया जाता है, जबकि "क्वर्क्स मोड" में पुराने ब्राउज़रों के व्यवहार की अनुकरण की कोशिश की जाती है। कुछ ब्राउज़र जैसे कि मोज़िला के गेको प्रतिपादन इंजन पर आधारित ब्राउज़र या इंटरनेट अंवेषक 8 स्ट्रिक्ट मोड में "लगभग मानकों" मोड का उपयोग भी करते हैं, जिसका प्रयास किया जाता है कि दोनों के मध्य समझौता किया जाए, जिससे एक विचित्रता को टेबल सेल के आकारणीकरण के लिए लागू किया जा सके जबकि अन्य मानकों का पालन किया जाए।
मोड अंतर और उदाहरण
क्वर्क्स और नो-क्वर्क्स मोड के मध्य एक प्रमुख अंतर है सीएसएस इंटरनेट अंवेषक बॉक्स प्रारूप बग के संबंध में इंटरनेट अंवेषक के 6 संस्करण से पहले, इंटरनेट अंवेषक ने एक कलन विधि का उपयोग किया था जिससे किसी तत्व के बॉक्स की चौड़ाई का निर्धारण किया जाता था, जो सीएसएस निर्देशिका में विवरणित कलन विधि के विपरीत था। इंटरनेट अंवेषक की लोकप्रियता के कारण, बहुत सारे पृष्ठ ऐसे बनाए गए थे जो इस गैर-मानक कलन विधि पर आधारित थे। 6 संस्करण के उपरांत, इंटरनेट अंवेषक नो-क्वर्क्स मोड में रेंडर करते समय सीएसएस निर्देशिका के कलन विधि का उपयोग करता है और क्वर्क्स मोड में रेंडर करते समय पिछले, गैर-मानक कलन विधि का उपयोग करता है।
एक अन्य महत्वपूर्ण अंतर है कुछ प्रकार के इंलाइन सामग्री की लंबवत संरेखण; कई पुराने ब्राउज़रों में छवियों को उनके संरचनात्मक बॉक्स के नीचे की सीमा से संरेखित किया जाता था, यद्यपि सीएसएस निर्देशिका मांगती है कि वे बॉक्स में पाठ की बेसलाइन से संरेखित होने चाहिए। नो-क्वर्क्स मोड में, गेको आधारित ब्राउज़र बेसलाइन से संरेखित होंगे, और क्वर्क्स मोड में वे नीचे संरेखित होंगे।[2]
इसके अतिरिक्त, कई पुराने ब्राउज़र तालिकाओं में फ़ॉन्ट शैलियों की अनुग्रहीता को कार्यान्वित नहीं करते थे। इस परिणामस्वरूप, फ़ॉन्ट शैलियों को दस्तावेज़ संपूर्णता के लिए एक बार और फिर से तालिका के लिए निर्दिष्ट करना पड़ता था, हालांकि CSS निर्देशिका मांगती है कि फ़ॉन्ट शैलिंग तालिका में अनुग्रहीत होनी चाहिए।, तो एक मानक-अनुरूप ब्राउज़र मूल फ़ॉन्ट आकार प्राप्त करेगा, फिर तालिका के भीतर सापेक्ष फ़ॉन्ट आकार लागू करें: उदाहरण के लिए, एक पृष्ठ जिसने 80% का आधार फ़ॉन्ट आकार और तालिका फ़ॉन्ट घोषित किया 80% का आकार (ब्राउज़रों में 80% का आकार सुनिश्चित करने के लिए जो उचित रूप से फ़ॉन्ट आकार प्राप्त नहीं करते हैं), मानक-अनुरूप ब्राउज़र में, 64% (80% का 80%) के फ़ॉन्ट आकार के साथ टेबल प्रदर्शित करेगा। नतीजतन, ब्राउज़र आमतौर पर फॉन्ट साइज को क्वर्क्स मोड में टेबल में इनहेरिट नहीं करते हैं।[3]
सीमित quirks मोड
एक तीसरा संगतता मोड जिसे सीमित क्विर्क्स मोड (पहले, लगभग मानक मोड या सख्त मोड) के रूप में जाना जाता है, जो CSS2 विनिर्देश के अनुसार तालिका कोशिकाओं के पारंपरिक ऊर्ध्वाधर आकार को बनाए रखता है, इन ब्राउज़रों में लागू किया गया है: सफारी (वेब ब्राउज़र), ओपेरा ( वेब ब्राउज़र) 7.5 (और बाद में), 1.0.1 (जैसे फ़ायरफ़ॉक्स) और इंटरनेट अंवेषक 8 के बाद से सभी गेको (लेआउट इंजन)-आधारित ब्राउज़र।[4]
लगभग मानक मोड प्रतिपादन एक को छोड़कर सभी विवरणों में मानक मोड से मेल खाता है। तालिका कक्षों के अंदर छवियों के लेआउट को उसी तरह से नियंत्रित किया जाता है जैसे कि quirks मोड संचालित होता है, इसके बजाय, जो इंटरनेट अंवेषक 7 (और पहले) जैसे विरासती तंत्र ब्राउज़रों के साथ काफी संगत है। इसका मतलब यह है कि स्लाइस-इमेज-इन-टेबल लेआउट के ब्राउजर में अलग होने की संभावना कम होती है, जब मानक मोड के बजाय या तो विचित्रता या लगभग मानक मोड में।[5]
विभिन्न प्रतिपादन मोड्स को ट्रिगर करना
अक्सर, ब्राउज़र यह निर्धारित करते हैं कि पृष्ठ में दस्तावेज़ प्रकार घोषणा की उपस्थिति के आधार पर किस प्रतिपादन मोड का उपयोग करना है; यदि एक पूर्ण DOCTYPE मौजूद है तो ब्राउज़र नो-क्विर्क्स मोड का उपयोग करेगा, और यदि यह अनुपस्थित है तो ब्राउज़र क्विर्क्स मोड का उपयोग करेगा। उदाहरण के लिए, एक वेब पृष्ठ जो निम्नलिखित DOCTYPE से शुरू होता है, नो-क्विर्क्स मोड को ट्रिगर करेगा:
<वाक्यविन्यास लैंग = html4सख्त> <!DOCTYPE html पब्लिक -//W3C//DTD HTML 4.01//EN
http://www.w3.org/TR/html4/strict.dtd >
</वाक्यविन्यास हाइलाइट>
निम्नलिखित DOCTYPE वाक्यात्मक रूप से अमान्य है, जिसमें सार्वजनिक पहचानकर्ता कीवर्ड PUBLIC है लेकिन कोई सार्वजनिक पहचानकर्ता नहीं है (उपयोग में HTML के संस्करण का नाम इंगित करता है), और कोई सिस्टम पहचानकर्ता HTML दस्तावेज़ प्रकार परिभाषा का यूनिफ़ॉर्म रिसोर्स लोकेटर नहीं है। यह quirks मोड को ट्रिगर करेगा:
<वाक्यविन्यास लैंग = html4सख्त> <!DOCTYPE html पब्लिक> </वाक्यविन्यास हाइलाइट>
इसके अतिरिक्त, एक वेब पृष्ठ जिसमें DOCTYPE बिल्कुल भी शामिल नहीं है, quirks मोड में रेंडर करेगा।
इसका एक उल्लेखनीय अपवाद माइक्रोसॉफ्ट का इंटरनेट अंवेषक 6 ब्राउज़र है, जो एक पृष्ठ को विचित्र मोड में प्रस्तुत करेगा यदि DOCTYPE के पहले एक XML प्रोलॉग है, भले ही एक पूर्ण DOCTYPE निर्दिष्ट किया गया हो। इस प्रकार एक एक्सएचटीएमएल पृष्ठ जो निम्नलिखित कोड से शुरू होता है, आईई 6 द्वारा क्विर्क मोड में प्रस्तुत किया जाएगा:
<वाक्यविन्यास लैंग = html4सख्त> <?xml संस्करण = 1.0 एन्कोडिंग = utf-8 ?> <!DOCTYPE html Public -//W3C//DTD XHTML 1.0 Strict//EN
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
</वाक्यविन्यास हाइलाइट>
उपरोक्त एक हद तक उपयोगी है क्योंकि इसका उपयोग केवल आईई 6 में क्विर्क मोड को ट्रिगर करने के लिए किया जा सकता है।
यदि कुछ भी DOCTYPE से पहले होता है तो IE के किसी भी संस्करण में Quirks मोड को ट्रिगर किया जाएगा। उदाहरण के लिए, यदि किसी हाइपरटेक्स्ट दस्तावेज़ में DOCTYPE घोषणा से पहले कोई टिप्पणी, स्थान या कोई टैग शामिल है, तो IE quirks मोड का उपयोग करेगा:
<वाक्यविन्यास लैंग = html4सख्त> <!DOCTYPE HTML पब्लिक -//W3C//DTD HTML 4.01//EN
http://www.w3.org/TR/html4/strict.dtd >
</वाक्यविन्यास हाइलाइट>
एक्सएमएल घोषणा के साथ समस्या इंटरनेट अंवेषक के संस्करण 7 में तय की गई थी, जिसमें एक्सएमएल प्रोलॉग को आसानी से नजरअंदाज कर दिया गया था।[6] हालांकि, मौजूदा और पुराने वेब ब्राउज़रों के साथ अधिकतम संगतता के लिए, वर्ल्ड वाइड वेब कंसोर्टियम, जो एक्सएचटीएमएल विनिर्देश को बनाए रखता है, सुझाव देता है कि एक्सएचटीएमएल दस्तावेजों के लेखक एक्सएमएल घोषणा को छोड़ने पर विचार कर सकते हैं।[7]
दस्तावेज़ प्रकारों की तुलना
हेनरी सिवोनेन ने विभिन्न प्रकार के दस्तावेज़ों की एक सूची संकलित की और यह दिखाते हुए कि सबसे सामान्य ब्राउज़रों में उनके साथ कैसे व्यवहार किया जाता है, यह दिखाते हुए कि क्या पृष्ठों को क्वर्क्स, मानक या लगभग मानक मोड में प्रस्तुत किया गया है। लगभग मानक मोड के लिए उपयोग किया जाने वाला मानदंड गैर-मानक तालिका सेल ऊँचाई प्रतिपादन है। यह तालिका सामग्री-प्रकार टेक्स्ट/एचटीएमएल के साथ दी गई सामग्री पर लागू होती है। सामग्री-प्रकार एप्लिकेशन/xhtml+xml के साथ प्रदान की जाने वाली सामग्री क्रोम, फ़ायरफ़ॉक्स, इंटरनेट अंवेषक 9, सफारी और ओपेरा में मानक मोड में प्रस्तुत की जाती है। इंटरनेट अंवेषक 6, 7 और 8 सामग्री प्रकार एप्लिकेशन/xhtml+xml को सपोर्ट नहीं करते हैं।[4]
Doctype | NS6 | Mozilla 0.9.5-1.0 | IE 8+ Firefox Chrome Safari Opera 7.5+ Netscape 7+ Mozilla 1.0.1+ Konq 3.5+ HTML5 spec |
IE 7 Opera 7.10 |
IE 6 Opera 7.0 |
Mac IE 5 | Konq 3.2 | |||
---|---|---|---|---|---|---|---|---|---|---|
None | Q | Q | Q | Q | Q | Q | Q | |||
HTML 2 | ||||||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
Q | Q | Q | Q | Q | Q | Q | |||
HTML 3 | ||||||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN//">
|
Q | Q | Q | Q | Q | Q | Q | |||
HTML 3.2 | ||||||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
Q | Q | Q | Q | Q | Q | Q | |||
HTML 4.01 | ||||||||||
Strict | with system identifier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
S | S | S | A | A | A | A | ||
without system identifier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
S | S | S | A | A | Q | A | |||
Transitional | with system identifier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
S | S | A | A | A | A | Q | ||
without system identifier<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
Q | Q | Q | Q | Q | Q | Q | |||
HTML5 | ||||||||||
<!DOCTYPE html>
|
Q | S | S | A | A | A | ? | |||
XHTML Basic | ||||||||||
with system identifier and without XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
|
S | S | S | A | A | A | A | |||
XHTML 1.0 | ||||||||||
Strict | with system identifier and XML declaration<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
S | S | S | A | Q | A | Q | ||
with system identifier and without an XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
S | S | S | A | A | A | A | |||
without system identifier and without an XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
|
S | S | S | A | A | A | ? | |||
Transitional | with system identifier and with XML declaration<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
S | S | A | A | Q | A | Q | ||
with system identifier and without an XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
S | S | A | A | A | A | Q | |||
without system identifier and without an XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
|
S | S | A | A | A | A | ? | |||
XHTML 1.1 | ||||||||||
with system identifier and an XML declaration<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
S | S | S | A | Q | A | Q | |||
with system identifier and without XML declaration<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
S | S | S | A | A | A | A | |||
Doctype | NS6 | Mozilla 0.9.5-1.0 | IE 8+ Firefox Chrome Safari Opera 7.5+ Netscape 7+ Mozilla 1.0.1+ Konq 3.5+ HTML5 spec |
IE 7 Opera 7.10 |
IE 6 Opera 7.0 |
Mac IE 5 | Konq 3.2 |
मोड सत्यापन
अधिकांश ब्राउज़रों में, दस्तावेज़ ऑब्जेक्ट मॉडल एक्सटेंशन document.compatMode वर्तमान पृष्ठ के लिए प्रतिपादन मोड इंगित करता है। मानक मोड और लगभग-मानक मोड में, document.compatMode में CSS1Compat मान होता है, जबकि quirks मोड में यह BackCompat के बराबर होता है।[8] इसके अतिरिक्त, मोज़िला फ़ायरफ़ॉक्स और ओपेरा (वेब ब्राउज़र) में किसी दिए गए पृष्ठ के लिए उपयोग किए जाने वाले प्रतिपादन मोड को 'पृष्ठ जानकारी' सूचनात्मक बॉक्स पर इंगित किया गया है।
संदर्भ
- ↑ "Cascading Style Sheets: CSS Browsers". World Wide Web Consortium. 19 December 2001. Retrieved 27 May 2007.
- ↑ "छवियाँ, टेबल्स, और रहस्यमय अंतराल". Mozilla Developer Center. Archived from the original on 22 May 2017. Retrieved 27 May 2007.
- ↑ "Quirks मोड में तालिका वंशानुक्रम को ठीक करना". Mozilla Developer Center. Archived from the original on 3 March 2016. Retrieved 27 May 2007.
- ↑ 4.0 4.1 Sivonen, Henri. "Doctype के साथ ब्राउज़र मोड सक्रिय करना". Retrieved 15 March 2011.
- ↑ "गेको का "लगभग मानक" मोड". Mozilla Developer Center. Archived from the original on 3 June 2004. Retrieved 27 May 2007.
- ↑ Wilson, Chris (15 August 2005). "The <?xml> prolog, strict mode, and XHTML in IE". IEBlog. MSDN. Retrieved 27 May 2007.
- ↑ "HTML Compatibility Guidelines". XHTML 1.0 The Extensible HyperText Markup Language (Second Edition). World Wide Web Consortium. 1 August 2002. Retrieved 14 February 2009.
- ↑ Koch, Peter-Paul (2 February 2009). "Miscellaneous". W3C DOM Compatibility - HTML. QuirksMode. Retrieved 14 February 2009.
बाहरी संबंध
- Quirks Mode Living Standard
- The W3C Markup Validation Service
- Testing doctype handling in browser
- Quirksmode.org: Quirks mode and strict mode
- Bookmarklet that reports the mode of a document
- Eric Meyer on CSS: Picking a Rendering Mode
- MDC explanation of Mozilla's DOCTYPE sniffing Archived 2016-10-13 at the Wayback Machine
- Documentation for quirks mode in Mozilla-based browsers
- Opera Software's explanation of quirks mode in their browser
- What happens in Quirks Mode?