क्वर्क्स मोड

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

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

प्रमुख वेब ब्राउज़रों में मानकीकृत 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?