Quirks मोड मध्ये ब्राउझर ठेवण्यासाठी Doctype सोडू
आपण काही महिन्यांपेक्षा अधिक वेब पृष्ठे डिझाइन करीत असल्यास, आपल्याला सर्व ब्राउझरमध्ये समान दिसणार्या पृष्ठावर लिहिण्यात त्रास होण्याची बहुधा जाणीव आहे खरं म्हणजे, हे अशक्य आहे. अनेक ब्राउझर विशेष वैशिष्ट्यांसह लिहिलेले होते जे फक्त ते हाताळू शकतात. किंवा त्यांच्याकडे भिन्न ब्राउझर कसे हाताळतात त्यापेक्षा भिन्न आहेत अशा गोष्टी हाताळण्याचे विशिष्ट मार्ग आहेत. उदाहरणार्थ:
- स्तर नेटस्केप ब्राउझरमध्ये वापरण्यासाठी तयार केले होते ते कोणत्याही अन्य ब्राउझरमध्ये कार्य करत नाहीत आणि वास्तविकपणे नेटस्केप 6.x + मध्ये नापसंत केलेला आहे.
- इनलाइन फ्रेम्स मूळतः इंटरनेट एक्स्प्लोररसाठीच तयार करण्यात आले होते आणि नंतर ते एचटीएमएल स्पेसिफिकेशनचा भाग बनले आहेत.
- Internet Explorer 6.0 अतिरिक्त जागा जोडतो (जसे
) अंदाजे टॅग्ज, जोपर्यंत आपण त्यातील सामुग्री एकावरील (लांब) ओळीवर लिहित नाही (IE 6 मध्ये याप्रमाणेच आणखी बरेच क्विट आहेत.) - Netscpe 4.7 योग्य HTML मध्ये लिहिलेले नसलेले सारण्या प्रदर्शित करणार नाही - त्याऐवजी त्या एका रिकाम्या पृष्ठावर दिसत आहेत. हे नेटस्केप 6 मध्ये निश्चित केले होते.
ब्राउझर विकसकांसाठी समस्या आहे की त्यांना जुन्या ब्राऊझर्ससाठी बांधलेल्या वेब पृष्ठांसह बॅकवर्ड सहत्व असलेल्या वेब ब्राउझर तयार करावे लागतात. या समस्येवर सामोरे जाण्यासाठी, ब्राउझर निर्मात्यांनी ब्राउझरमध्ये ते ऑपरेट करण्यासाठी रीसेट्स तयार केले आहेत. या मोडची व्याख्या आपण DOCTYPE घटक आणि त्या DOCTYPE कॉलची उपस्थिती किंवा अनुपस्थिती द्वारे केली आहे.
DOCTYPE स्विचिंग आणि "क्विक्स मोड"
आपण आपल्या वेब पृष्ठामध्ये खालील DOCTYPE ठेवले तर:
आधुनिक ब्राउझर (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, नेटस्केप 6+, ऑपेरा 6+, सफारी 1+) याचा पुढील फॅशनमध्ये अर्थ लावेल:
- योग्यरित्या लिहिलेले DOCTYPE असल्यामुळे, हे मानक मोड ट्रिगर करते.
- ही एक HTML 4.01 ट्रांझिशनल डॉक्युमेंट आहे
- हे मानक मोडमध्ये असल्यामुळे, बहुतेक ब्राउझर HTML 4.01 ट्रान्सिशनल प्रमाणे सामग्रीसह अनुरूप (किंवा अधिक अनुरुप) प्रस्तुत करेल
आणि आपण आपल्या दस्तऐवजात हे DOCTYPE ठेवले तर:
हे आधुनिक ब्राउझरला सांगते की आपण आपल्या HTML 4.01 पृष्ठ डीटीडीएचे कडक पालन करीत आहात.
हे ब्राउझर "कठोर" किंवा "मानक" मोडमध्ये जातील आणि पृष्ठांचे मानकांचे पालन करेल. (म्हणून, या दस्तऐवजासाठी, जसे की ब्राउझर द्वारे टॅग पूर्णपणे दुर्लक्षित केले जाऊ शकते, कारण फॉन्ट घटक HTML 4.01 मध्ये नापसंत केला गेला आहे.)
जर आपण संपूर्णपणे DOCTYPE ला बाहेर सोडले तर ब्राउझर स्वयंचलितपणे "quirks" मोडमध्ये लाथ मारतील.
विविध सामान्य DOCTYPE घोषणांसह सादर करताना सामान्य ब्राउझर काय करतात ते खालील तक्ता दर्शविते.
मायक्रोसॉफ्ट तो कठोर बनवते
इंटरनेट एक्स्प्लोरर 6 मध्ये असेही वैशिष्ट्य आहे की आपण जर DOCTYPE घोषणापत्रावर काहीच ठेवले तर ते क्विक्स मोडमध्ये जातील. तर, या दोन्ही उदाहरणात IE 6 ला क्विर्टी मोडमध्ये ठेवले जाईल, जरी DOCTYPE घोषणे कठोर मानदंड मोड म्हणतील:
आणि एक्सएचटीएमएल 1.1 डक्टिव्ह:
तसेच, जर तुम्ही आय आय 6 पूर्वी उत्तीर्ण झालात तर मायक्रोसॉफ्टने आयई 8 आणि आयई 9 मध्ये "फीचर" जोडले आहे: एमईटीए घटक स्विचिंग आणि वेबसाइट ब्लॅकलिस्टिंग. खरेतर, या दोन ब्राउझर आवृत्त्या आता सात (!) भिन्न रीती आहेत:
- IE 5.5 quirks मोड (IE 8 आणि 9)
- IE 7 मानक मोड (IE 8 आणि 9)
- IE 8 जवळजवळ मानक मोड (IE 8 आणि 9)
- IE 8 मानक मोड (IE 8 आणि 9)
- IE 9 जवळजवळ मानक मोड (IE 9)
- IE 9 मानक मोड (IE 9)
- XML मोड (IE 9)
IE 8 ने "सुसंगतता मोड" देखील सुरु केला आहे जेथे वापरकर्ता IE 7 मोडवर रेंडरिंग मॉडेल परत बदलणे निवडू शकतो. त्यामुळे आपण मोड सेट जरी जरी आपण दोन्ही DOCTYPE आणि META घटक वापरून सेट करू इच्छित असाल, तरीही आपले पृष्ठ कमी मानक-सुसंगत मोडमध्ये परत जाऊ शकते.
Quirks मोड काय आहे?
Quirks मोड सर्व विचित्र रेंडरिंग आणि गैर-अनुरुप ब्राउझर समर्थन आणि वेब डिझाइनर त्या गोष्टी हाताळण्यासाठी वापरत होते की म्हणता हाताळण्यासाठी मदत तयार करण्यात आला. ब्राऊझर उत्पादकांनी अशी काळजी घेतली की जर त्यांनी आपले ब्राउझर पूर्ण विनिर्देशन पालन केले तर वेब डिझाइनर मागे राहतील.
DOCTYPE स्विचिंग आणि "क्विक्स मोड" सेट करून हे वेब डिझाइनर्सना त्यांचे ब्राउझर कसे प्रस्तुत करायचे हे ब्राउझरची निवड करण्याची अनुमती दिली आहे.
Quirks मोड प्रभाव
बर्याच ब्राउझरमध्ये क्विक्स मोडमध्ये अनेक प्रभाव असतात:
- काही ब्राऊझरमध्ये बॉक्स मॉडेल क्वार्कक्स मोडमध्ये बॉक्स मॉडेलच्या IE 5.5 आवृत्तीमध्ये बदलते.
- काही ब्राउझर शैलीमध्ये वारसाहक्क मिळत नाहीत
- Quirks मोड नाटकीयरीत्या सीएसएस व सीएसएस लेआउटचे विश्लेषण करणे प्रभावित करते, जर आपण पेजेस स्टिकर्स मोडमध्ये क्विर्टी मोडमधून रुपांतरित करत असाल तर आपल्या सीएसएस लेआउटची चाचणी घ्यावी आणि मोठ्या प्रमाणावर पार्स करणे सुनिश्चित करा.
- क्विर्टी मोडमध्ये स्क्रिप्टिंगमध्ये बदल पहा. फायरफॉक्सने आयडी ऍट्रीब्यूटचे कार्य बदलले आहे, उदाहरणार्थ. क्विर्टी मोडमध्ये स्क्रीप्टिंगमध्ये IE8 आणि IE9 चे खूप नाट्यमय बदल आहेत.
"जवळजवळ मानक मोड:" मध्ये फरक देखील आहे
- फक्त अंतर्गत असलेल्या प्रतिमांसह सारणी कक्षांची उंची मानक मोडापेक्षा वेगळी गणना केली जाते.
एक DOCTYPE कसे निवडावे
मी माझ्या लेख DOCTYPE सूची मध्ये अधिक तपशील जा, परंतु इथे थंबचे काही सामान्य नियम आहेत:
- नेहमी प्रथम मानक मोड निवडा आणि आपण वापरत असलेले वर्तमान मानक HTML5 आहे: जोपर्यंत आपणास HTML5 DOCTYPE वापरणे टाळण्याचे विशिष्ट कारण नाही तोपर्यंत हेच आपण वापरत आहात.
- कठोर एचटीएमएल 4.01 वर जा, जर तुम्हाला लेगसी घटक मान्य करायचे असतील किंवा काही कारणास्तव नवीन फीचर टाळायचे असतील तर:
- आपण टेबलमध्ये प्रतिमा कापली असेल आणि त्यांचे निराकरण करू नयेत तर, ट्रान्सिशनल HTML वर जा. 4.01:
- Quirks मोडमध्ये मुद्दाम चित्रे लिहू नका. नेहमी DOCTYPE वापरा यामुळे भविष्यात विकासाच्या वेळेस तुमचे रक्षण होईल आणि खरोखरच काही फायदा नाही. IE6 झपाट्याने लोकप्रियता गमावून आणि या ब्राउझरसाठी डिझाईन करून (जे मूलत: quirks मोडमध्ये काय डिझायन करत आहे) आपण स्वत: ला, आपल्या वाचकांना आणि आपल्या पृष्ठांची मर्यादा घालवित आहात जर आपण IE 6 किंवा 7 साठी लिहित केले तर आधुनिक ब्राउझरला क्वार्कॉक्स मोडमध्ये अडवण्याऐवजी त्यांना समर्थन देण्यासाठी सशर्त टिप्पण्या वापरा.
का DOCTYPE वापरा
एकदा आपण या प्रकारच्या DOCTYPE स्विचिंगवर जाण्याची जाणीव झाली, की आपण आपल्या वेब पृष्ठावर अधिक प्रभावीपणे DOCTYPE वापरून आपल्या वेब पृष्ठांवर परिणाम करू शकता जे आपल्या पृष्ठावरुन ब्राउझरची अपेक्षा काय दर्शविते. तसेच, एकदा आपण DOCTYPE वापरण्यास प्रारंभ केल्यास, आपण वैध असण्याबाबत अधिक जवळ आहे असा HTML लिहित असाल (तरीही आपण ते सत्यापित करू शकता). आणि वैध एक्सएचटीएमएल लिहून आपण ब्राऊजर निर्मात्यांना मानक अनुरूप ब्राउझर तयार करण्यास प्रोत्साहित करतो.
ब्राउझर आवृत्त्या आणि Quirks मोड
DOCTYPE | Android क्रोम Firefox IE 8+ iOS ऑपेरा 7.5+ सफारी | IE 6 IE 7 ऑपेरा 7 | नेटस्केप 6 |
---|---|---|---|
काहीही नाही | Quirks मोड | Quirks मोड | Quirks मोड |
HTML 3.2 | |||
Quirks मोड | Quirks मोड | Quirks मोड | |
HTML 4.01 | |||
ट्रान्सिशनल | मानक मोड * | मानक मोड * | स्टँडर्ड मोड |
ट्रान्सिशनल | Quirks मोड | Quirks मोड | Quirks मोड |
कठोर | स्टँडर्ड मोड | मानक मोड * | स्टँडर्ड मोड |
कठोर | स्टँडर्ड मोड | मानक मोड * | स्टँडर्ड मोड |
HTML5 | |||
स्टँडर्ड मोड | मानक मोड * | Quirks मोड | |
* या DOCTYPE सह, ब्राउझर मानकांशी सुसंगत असतात, परंतु काही समस्या असू द्या-चाचणीची खात्री करा. हे "जवळजवळ मानक मोड" म्हणून देखील ओळखले जाते. |