क्वर्क्स मोड

कम्प्यूटिंग में, क्वर्क्स मोड एक ऐसी तकनीक है जिसका उपयोग कुछ वेब ब्राउज़रो द्वारा मानक मोड में W3C और आईईटीएफ मानकों का कड़ाई से अनुपालन करने के अतिरिक्त पुराने वेब ब्राउज़रों के लिए प्रारुप किए गए वेब पृष्ठ के साथ पिछड़े संगतता बनाए रखने के लिए किया जाता है। यह व्यवहार बाद में मानक में संकलित किया गया है, इसलिए जो पहले मानक मोड था, अब इसे साधारण रूप से क्वर्क्स मोड कहा जाता है।

संक्षिप्त विवरण
एक वेब पृष्ठ की संरचना और उपस्थिति को दो मानकीकृत भाषाओं के संयोजन द्वारा वर्णित किया जाता है। यद्यपि, अधिकांश पुराने वेब ब्राउज़रों ने या तो इन भाषाओं के लिए पूरी तरह से विन्यास का पालन नहीं किया था या फिर यह निर्धारण संकलन के पहले विकसित किए गए थे, उदाहरण के लिए, 2000 में रिलीज़ हुई बृहत प्लेटफॉर्म के लिए माइक्रोसॉफ्ट इंटरनेट अन्वेषक संस्करण 5.0 एक प्रमुख वेब ब्राउज़र था जिसमें पूर्ण समर्थन सीएसएसस्तर 1 के लिए था। इस परिणामस्वरूप, कई पुराने वेब पेज पुराने ब्राउज़रों की अपूर्ण या गलत कार्यान्वयन पर आधारित थे और ये केवल तब इच्छित रूप से प्रदर्शित होंगे जब ऐसे ब्राउज़र में प्रस्तुत किए जाएंगे।
 * एचटीएमएल एक मार्कअप भाषा है जो वेब के उपयोग के लिए प्ररूपित की गई है, जिसमें पृष्ठ की संरचना और विषय वस्तु  का वर्णन किया जाता है।
 * सीएसएस एक सामान्यीकृत स्टाइल शीट भाषा है जो विभिन्न मीडिया में पृष्ठ को कैसे दिखाया जाना चाहिए को निर्धारित करती है जैसे स्क्रीन प्रदर्शन के लिए दृश्य शैलियाँ, पृष्ठ को प्रिंट करने पर उपयोग करने के लिए प्रिंट शैलियाँ, स्क्रीन रीडर द्वारा उच्चारित करने पर उपयोग करने के लिए श्रव्य शैलियाँ आदि।

मुख्य वेब ब्राउज़रों में मानक एचटीएमएल और सीएसएस के समर्थन में काफी वृद्धि हुई है, लेकिन पुराने ब्राउज़रों के विचित्रताओं पर आधारित पुराने दस्तावेज़ों की विशाल संख्या वेब ब्राउज़र विकासकों के लिए एक बाधा प्रदान करती है। वे अपने समर्थन को मानक एचटीएमएल और सीएसएस के लिए सुधारना चाहते हैं, परंतु पुराने, मानकों के अनुरूप पृष्ठों के प्रतिष्ठान को भी बनाए रखना चाहते हैं। इसके अतिरिक्त, कई नए वेब पृष्ठ अभी भी पुराने तरीके में बनाए जा रहे हैं, क्योंकि ब्राउज़र विकासकों द्वारा प्रस्तुत योग्यता, उपायों के कारण मानकीकृत विधियों की समझ नियमित रूप से आवश्यक नहीं होती है।

सबसे अधिक संख्या के वेब पृष्ठों के साथ संगतता बनाए रखने के लिए, आधुनिक वेब ब्राउज़र सामान्यतः कई प्रतिपादन मोड के साथ विकसित किए जाते हैं: "क्वर्क्स मोड" में पृष्ठों को एचटीएमएल और सीएसएस निर्देशिका के अनुसार रेंडर किया जाता है, जबकि "क्वर्क्स मोड" में पुराने ब्राउज़रों के व्यवहार की अनुकरण की कोशिश की जाती है। कुछ ब्राउज़र जैसे कि मोज़िला के गेको प्रतिपादन इंजन पर आधारित ब्राउज़र या इंटरनेट अंवेषक 8 स्ट्रिक्ट मोड में "लगभग मानकों" मोड का उपयोग भी करते हैं, जिसका प्रयास किया जाता है कि दोनों के मध्य समझौता किया जाए, जिससे एक विचित्रता को टेबल सेल के आकारणीकरण के लिए लागू किया जा सके जबकि अन्य मानकों का पालन किया जाए।

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

एक अन्य महत्वपूर्ण अंतर है कुछ प्रकार के इंलाइन सामग्री की लंबवत संरेखण; कई पुराने ब्राउज़रों में छवियों को उनके संरचनात्मक बॉक्स के नीचे की सीमा से संरेखित किया जाता था, यद्यपि सीएसएस निर्देशिका मांगती है कि वे बॉक्स में पाठ की बेसलाइन से संरेखित होने चाहिए। नो-क्वर्क्स मोड में, गेको आधारित ब्राउज़र बेसलाइन से संरेखित होंगे, और क्वर्क्स मोड में वे नीचे संरेखित होंगे।

इसके अतिरिक्त, कई पुराने ब्राउज़र तालिकाओं में फ़ॉन्ट शैलियों की अनुग्रहीता को कार्यान्वित नहीं करते थे। इस परिणामस्वरूप, फ़ॉन्ट शैलियों को दस्तावेज़ संपूर्णता के लिए एक बार और फिर से तालिका के लिए निर्दिष्ट करना पड़ता था, हालांकि सीएसएस निर्देशिका मांगती है कि फ़ॉन्ट शैलिंग तालिका में अनुग्रहीत होनी चाहिए। यदि फ़ॉन्ट आकार सम्बन्धी इकाइयों का उपयोग करके निर्दिष्ट किया जाता है, तो एक मानकों का पालन करने वाला ब्राउज़र मूल फ़ॉन्ट आकार को अनुग्रहीत करेगा, और पुनः तालिका में सम्बन्धित फ़ॉन्ट आकार को लागू करेगा: उदाहरण के लिए, एक पृष्ठ जिसने 80% का मूल फ़ॉन्ट आकार और 80% का तालिका फ़ॉन्ट आकार निर्दिष्ट किया है मानकों का पालन करने वाले ब्राउज़र में, तालिकाओं को 64% का फ़ॉन्ट आकार प्रदर्शित करेगा इस परिणामस्वरूप, क्वर्क्स मोड में ब्राउज़रों सामान्यतः फ़ॉन्ट आकारों को तालिकाओं में अनुग्रहीत नहीं करते हैं।

सीमित quirks मोड
एक तीसरा संगतता मोड जिसे सीमित क्विर्क्स मोड (पहले, लगभग मानक मोड या सख्त मोड) के रूप में जाना जाता है, जो CSS2 विनिर्देश के अनुसार तालिका कोशिकाओं के पारंपरिक ऊर्ध्वाधर आकार को बनाए रखता है, इन ब्राउज़रों में लागू किया गया है: सफारी (वेब ​​​​ब्राउज़र), ओपेरा ( वेब ब्राउज़र) 7.5 (और बाद में), 1.0.1 (जैसे फ़ायरफ़ॉक्स) और इंटरनेट अंवेषक   8 के बाद से सभी गेको (लेआउट इंजन)-आधारित ब्राउज़र।

लगभग मानक मोड प्रतिपादन  एक को छोड़कर सभी विवरणों में मानक मोड से मेल खाता है। तालिका कक्षों के अंदर छवियों के लेआउट को उसी तरह से नियंत्रित किया जाता है जैसे कि quirks मोड संचालित होता है, इसके बजाय, जो इंटरनेट अंवेषक    7 (और पहले) जैसे  विरासती तंत्र  ब्राउज़रों के साथ काफी संगत है। इसका मतलब यह है कि स्लाइस-इमेज-इन-टेबल लेआउट के ब्राउजर में अलग होने की संभावना कम होती है, जब मानक मोड के बजाय या तो विचित्रता या लगभग मानक मोड में।

विभिन्न प्रतिपादन मोड्स को ट्रिगर करना
अक्सर, ब्राउज़र यह निर्धारित करते हैं कि पृष्ठ में दस्तावेज़ प्रकार घोषणा की उपस्थिति के आधार पर किस प्रतिपादन  मोड का उपयोग करना है; यदि एक पूर्ण 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सख्त>  <!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 में तय की गई थी, जिसमें एक्सएमएल प्रोलॉग को आसानी से नजरअंदाज कर दिया गया था। हालांकि, मौजूदा और पुराने वेब ब्राउज़रों के साथ अधिकतम संगतता के लिए, वर्ल्ड वाइड वेब कंसोर्टियम, जो एक्सएचटीएमएल विनिर्देश को बनाए रखता है, सुझाव देता है कि एक्सएचटीएमएल दस्तावेजों के लेखक एक्सएमएल घोषणा को छोड़ने पर विचार कर सकते हैं।

दस्तावेज़ प्रकारों की तुलना
हेनरी सिवोनेन ने विभिन्न प्रकार के दस्तावेज़ों की एक सूची संकलित की और यह दिखाते हुए कि सबसे सामान्य ब्राउज़रों में उनके साथ कैसे व्यवहार किया जाता है, यह दिखाते हुए कि क्या पृष्ठों को क्वर्क्स, मानक या लगभग मानक मोड में प्रस्तुत किया गया है। लगभग मानक मोड के लिए उपयोग किया जाने वाला मानदंड गैर-मानक तालिका सेल ऊँचाई प्रतिपादन  है। यह तालिका सामग्री-प्रकार टेक्स्ट/एचटीएमएल के साथ दी गई सामग्री पर लागू होती है। सामग्री-प्रकार एप्लिकेशन/xhtml+xml के साथ प्रदान की जाने वाली सामग्री क्रोम, फ़ायरफ़ॉक्स, इंटरनेट अंवेषक    9, सफारी और ओपेरा में मानक मोड में प्रस्तुत की जाती है। इंटरनेट अंवेषक    6, 7 और 8  सामग्री प्रकार  एप्लिकेशन/xhtml+xml को सपोर्ट नहीं करते हैं।

मोड सत्यापन
अधिकांश ब्राउज़रों में, दस्तावेज़ ऑब्जेक्ट मॉडल एक्सटेंशन document.compatMode वर्तमान पृष्ठ के लिए प्रतिपादन  मोड इंगित करता है। मानक मोड और लगभग-मानक मोड में, document.compatMode में CSS1Compat मान होता है, जबकि quirks मोड में यह BackCompat के बराबर होता है। इसके अतिरिक्त, मोज़िला फ़ायरफ़ॉक्स और ओपेरा (वेब ​​ब्राउज़र) में किसी दिए गए पृष्ठ के लिए उपयोग किए जाने वाले प्रतिपादन  मोड को 'पृष्ठ जानकारी' सूचनात्मक बॉक्स पर इंगित किया गया है।

बाहरी संबंध

 * 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
 * Documentation for quirks mode in Mozilla-based browsers
 * Opera Software's explanation of quirks mode in their browser
 * What happens in Quirks Mode?