क्वर्क्स मोड

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

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

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

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

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

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

सीमित 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?