Quirks મોડમાં બ્રાઉઝર્સને મૂકવા માટે Doctype છોડી દો
જો તમે થોડા મહિના કરતાં વધુ સમય માટે વેબ પૃષ્ઠોને ડિઝાઇન કરી રહ્યાં છો, તો તમે બધા બ્રાઉઝર્સમાં સમાન દેખાય તેવા પૃષ્ઠને લખવામાં મુશ્કેલી છો. હકીકતમાં, તે અશક્ય છે ઘણા બ્રાઉઝર્સ વિશિષ્ટ સુવિધાઓ સાથે લખવામાં આવ્યાં હતાં જે ફક્ત તે જ સંભાળી શકે. અથવા તેઓ પાસે અન્ય બ્રાઉઝર્સથી કેવી રીતે હેન્ડલ થાય છે તેના કરતા અલગ અલગ વસ્તુઓને સંભાળવાની વિશિષ્ટ રીતો હોય છે. દાખ્લા તરીકે:
- નેટસ્કેપ બ્રાઉઝર્સમાં ઉપયોગ માટે સ્તરો બનાવવામાં આવી હતી તેઓ અન્ય કોઈપણ બ્રાઉઝરમાં કામ કરતા નથી, અને વાસ્તવમાં નેટસ્કેપ 6.x + + માં દૂર કરવામાં આવેલ છે.
- ઇનલાઇન ફ્રેમ મૂળમાં ફક્ત Internet Explorer માટે જ બનાવવામાં આવ્યાં હતાં, અને તે પછીથી HTML સ્પષ્ટીકરણનો ભાગ બની ગયો છે.
- Internet Explorer 6.0 વધારાની જગ્યા ઉમેરે છે (જેમ કે
) ટૅગ્સ આસપાસના, જ્યાં સુધી તમે બધા એક (લાંબા) વાક્ય પર DIV સામગ્રી સમાવિષ્ટો લખો. (IE 6 પાસે ઘણાં વધુ ક્વિક્સ અને આ એક છે.) - નેટસ્પે 4.7 કોષ્ટકો દર્શાવશે નહીં જે યોગ્ય HTML માં લખેલા નથી - તે તેના બદલે ખાલી પૃષ્ઠ બતાવે છે. આ નેટસ્કેપ 6 માં સુધારાઈ હતી
બ્રાઉઝર વિકાસકર્તાઓ માટે સમસ્યા એ છે કે તેમને વેબ બ્રાઉઝર્સ બનાવવી પડશે કે જે જૂની બ્રાઉઝર્સ માટે બનાવાયેલ વેબ પૃષ્ઠો સાથે પાછળથી સુસંગત છે. આ સમસ્યાનો ઉકેલ લાવવા માટે, બ્રાઉઝર ઉત્પાદકોએ બ્રાઉઝરને બ્રાઉઝ કરવા માટેના મોડ્સ બનાવ્યા છે. આ મોડ્સને DOCTYPE ઘટકની હાજરી અથવા ગેરહાજરીથી અને તે DOCTYPE કોલ્સ દ્વારા વ્યાખ્યાયિત કરવામાં આવે છે.
DOCTYPE સ્વિચિંગ અને "ક્વિક્સ મોડ"
જો તમે તમારા વેબ પૃષ્ઠમાં નીચેની DOCTYPE મૂકી:
આધુનિક બ્રાઉઝર્સ (એન્ડ્રોઇડ 1+, ક્રોમ 1+, આઇ 6+, આઇઓએસ 1+, ફાયરફોક્સ 1+, નેટસ્કેપ 6+, ઓપેરા 6+, સફારી 1+) એ નીચે મુજબની ફેશનમાં તેનો અર્થઘટન કરશે:
- કારણ કે ત્યાં યોગ્ય રીતે લખાયેલ DOCTYPE છે, આ સ્ટાન્ડર્ડ્સ મોડને ચાલુ કરે છે.
- તે HTML 4.01 ટ્રાન્ઝિશનલ દસ્તાવેજ છે
- કારણ કે તે ધોરણ મોડમાં છે, મોટાભાગના બ્રાઉઝર્સ HTML 4.01 ટ્રાન્ઝિશનલ સાથે સામગ્રી સુસંગત (અથવા મોટે ભાગે સુસંગત) રેન્ડર કરશે
અને જો તમે તમારા ડોક્યુમેન્ટમાં આ DOCTYPE મૂકો તો:
આ આધુનિક બ્રાઉઝર્સને કહે છે કે તમે તમારા HTML 4.01 પૃષ્ઠને DTD સાથે સખત પાલન કરવા માંગો છો.
આ બ્રાઉઝર્સ "સખ્ત" અથવા "ધોરણો" મોડમાં જશે અને પૃષ્ઠોને ધોરણોનું પાલન કરીને રેન્ડર કરશે. (તેથી, આ દસ્તાવેજ માટે, જેમ કે ટેગ જેમ કે બ્રાઉઝર દ્વારા સંપૂર્ણપણે અવગણવામાં આવી શકે છે, કારણ કે ફોન્ટ તત્વ HTML 4.01 સખત રીતે દૂર કરવામાં આવેલું છે.)
જો તમે ડોક્ટાઇપીઝને સંપૂર્ણ રીતે છોડી દો છો, તો બ્રાઉઝર્સને આપમેળે "ક્વિક્સ" મોડમાં લાત મારવામાં આવે છે.
નીચે આપેલ કોષ્ટક બતાવે છે કે સામાન્ય બ્રાઉઝર્સ શું કરે છે જ્યારે વિવિધ સામાન્ય DOCTYPE જાહેરાતો સાથે પ્રસ્તુત થાય છે.
માઈક્રોસોફ્ટ તે હાર્ડ બનાવે છે
ઈન્ટરનેટ એક્સપ્લોરર 6 માં પણ એવું લક્ષણ છે કે જો તમે DOCTYPE ઘોષણાથી ઉપર કંઇક મૂકી દો છો, તો તે ક્વિક્સ મોડમાં જશે. તેથી, આ બન્ને ઉદાહરણો IE 6 ને ક્વિકોક્સ મોડમાં મુકી દેશે, તેમ છતાં DOCTYPE જાહેરાતો કડક ધોરણો સ્થિતિમાં હોવાનું કહે છે:
અને એક્સએચટીએમપી 1.1 ડોક્ટાઇપી:
ઉપરાંત, જો તમે ભૂતકાળમાં આઇ 6 હોય, તો તમારી પાસે "ફિચર" છે જે માઇક્રોસોફ્ટે IE8 અને IE9 માં ઉમેર્યું છે: મેટા એલિમેન્ટ સ્વિચિંગ અને વેબસાઇટ બ્લેકલિસ્ટિંગ. વાસ્તવમાં, આ બે બ્રાઉઝર વર્ઝન હવે સાત (!) અલગ મોડ્સ ધરાવે છે:
- 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 મોડ બધા વિચિત્ર રેન્ડરીંગ અને બિન-સુસંગત બ્રાઉઝરના સપોર્ટ અને હેક્સ સાથે કામ કરવામાં મદદ માટે બનાવવામાં આવ્યું હતું જે વેબ ડિઝાઇનર્સ તે વસ્તુઓ સાથે વ્યવહાર કરવા માટે ઉપયોગ કરી રહ્યાં છે. બ્રાઉઝર ઉત્પાદકોની એવી ચિંતા હતી કે જો તેઓ તેમના બ્રાઉઝર્સને સંપૂર્ણ સ્પષ્ટીકરણ પાલન પર ફેરવતા હતા, તો વેબ ડિઝાઇનર્સ પાછળ છોડી દેવામાં આવશે.
DOCTYPE સ્વિચિંગ અને "ક્વિક્સ મોડ" ની રચના કરીને વેબ ડીઝાઇનરોએ તે પસંદ કરવા માટે મંજૂરી આપી હતી કે તે કેવી રીતે બ્રાઉઝર્સને તેમના HTML રેન્ડર કરવા માગે છે.
Quirks સ્થિતિ અસરો
ઘણા પ્રભાવો છે કે જે મોટા ભાગના બ્રાઉઝર્સ Quirks મોડમાં ઉપયોગ કરે છે:
- કેટલાક બ્રાઉઝર્સમાં, બૉક્સ મોડેલ ક્વિક્સ મોડમાં બૉક્સ મોડેલના IE 5.5 વર્ઝનમાં બદલાય છે.
- કેટલાક બ્રાઉઝર્સને કોષ્ટકોમાં શૈલીઓનો વારસો નથી
- Quirks મોડ CSS અને CSS ના લેઆઉટની નાટ્યાત્મક અસરને અસર કરે છે, જો તમે પાનાને ધોરણ મોડથી પૃષ્ઠોમાં ધોરણ મોડમાં રૂપાંતરિત કરી રહ્યાં હો, તો તમારા CSS લેઆઉટને ચકાસવા અને વ્યાપક રીતે વિશ્લેષિત કરવાની ખાતરી કરો.
- ક્વિક્ક્સ મોડમાં સ્ક્રિપ્ટીંગના ફેરફારો માટે જુઓ. ફાયરફોક્સ આઇડી એટ્રીબ્રેટ કાર્યોમાં ફેરફાર કરે છે, ઉદાહરણ તરીકે. ક્વિક્સ મોડમાં સ્ક્રિપ્ટીંગમાં IE8 અને IE9 નો ખૂબ નાટ્યાત્મક ફેરફારો છે.
"લગભગ ધોરણ સ્થિતિ:" માં પણ તફાવત છે
- કોષ્ટક કોશિકાઓની અંદરની માત્ર છબીઓની ઉંચાઇ ધોરણ સ્થિતિથી અલગ રીતે ગણવામાં આવે છે.
DOCTYPE કેવી રીતે પસંદ કરશો
હું મારા લેખ DOCTYPE સૂચિમાં વધુ વિગતવાર જઈ રહ્યો છું, પરંતુ અહીં અંગૂઠોના કેટલાક સામાન્ય નિયમો છે:
- હંમેશાં પ્રથમ ધોરણો સ્થિતિ પસંદ કરો અને તમે વર્તમાન સ્ટાન્ડર્ડનો ઉપયોગ કરવો જોઈએ તે HTML5 છે: જ્યાં સુધી તમારી પાસે HTML5 DOCTYPE નો ઉપયોગ કરવાનું ટાળવા માટે કોઈ વિશિષ્ટ કારણ હોય, તો આ તમારે શું કરવું જોઈએ
- કડક HTML 4.01 પર જાઓ જો તમને લેગસી ઘટકો માન્ય કરવાની જરૂર છે અથવા અમુક કારણોસર નવી સુવિધાઓ ટાળવા માંગે છે:
- જો તમે કોઈ કોષ્ટકમાં છબીઓ કાપી છે અને તેમને ઠીક કરવા નથી માંગતા, તો ટ્રાન્ઝિશનલ એચટીએમએલ 4.01:
- ક્વિર્ટ્સ મોડમાં ઇરાદાપૂર્વક પાના લખશો નહીં. હંમેશા DOCTYPE નો ઉપયોગ કરો આ તમને ભવિષ્યમાં વિકાસના સમય પર બચાવે છે, અને ખરેખર કોઈ લાભ નથી આઇ 6 ઝડપથી લોકપ્રિયતા હારી રહ્યું છે અને આ બ્રાઉઝર માટે ડિઝાઇન કરીને (જે આવશ્યક છે કે ક્વિક્ક્સ મોડમાં શું ડિઝાઇન છે) તમે તમારી જાતને, તમારા વાચકો અને તમારા પૃષ્ઠોને મર્યાદિત કરી રહ્યા છો. જો તમારે IE 6 અથવા 7 માટે લખવું આવશ્યક છે, તો આધુનિક બ્રાઉઝરને ક્વિક્સ મોડમાં ખસેડવાને બદલે, તેને ટેકો આપવા માટે શરતી ટિપ્પણીઓનો ઉપયોગ કરો.
DOCTYPE નો ઉપયોગ કેમ કરવો?
એકવાર તમે DOCTYPE પર ચાલુ થવાનું સ્વિચ કરી રહ્યાં હોવ, પછી તમે તમારા વેબ પૃષ્ઠને વધુ સીધી રીતે DOCTYPE નો ઉપયોગ કરીને અસર કરી શકે છે જે સૂચવે છે કે તમારા પૃષ્ઠથી બ્રાઉઝર શું અપેક્ષા કરી શકે છે. ઉપરાંત, એકવાર તમે DOCTYPE નો ઉપયોગ કરવાનું શરૂ કરી લો પછી, તમે HTML લખશો જે માન્ય હોવાની નજીક છે (તમારે હજુ પણ તે માન્ય કરવું જોઈએ). અને માન્ય એક્સએચટીએમએલ લખીને, તમે બ્રાઉઝર ઉત્પાદકોને ધોરણ સુસંગત બ્રાઉઝર્સ બનાવવાનું પ્રોત્સાહન આપો છો.
બ્રાઉઝર આવૃત્તિઓ અને Quirks મોડ
DOCTYPE | Android ક્રોમ ફાયરફોક્સ IE 8+ iOS ઑપેરા 7.5+ સફારી | IE 6 IE 7 ઓપેરા 7 | નેટસ્કેપ 6 |
---|---|---|---|
કંઈ નહીં | ક્વિક્સ મોડ | ક્વિક્સ મોડ | ક્વિક્સ મોડ |
એચટીએમએલ 3.2 | |||
ક્વિક્સ મોડ | ક્વિક્સ મોડ | ક્વિક્સ મોડ | |
HTML 4.01 | |||
ટ્રાન્ઝિશનલ | માનક મોડ * | માનક મોડ * | ધોરણો મોડ |
ટ્રાન્ઝિશનલ | ક્વિક્સ મોડ | ક્વિક્સ મોડ | ક્વિક્સ મોડ |
કડક | ધોરણો મોડ | માનક મોડ * | ધોરણો મોડ |
કડક | ધોરણો મોડ | માનક મોડ * | ધોરણો મોડ |
HTML5 | |||
ધોરણો મોડ | માનક મોડ * | ક્વિક્સ મોડ | |
* આ DOCTYPE સાથે, બ્રાઉઝર્સ ધોરણોની નજીક છે, પરંતુ કેટલાક પ્રશ્નો છે - ખાતરી કરો કે પરીક્ષણ. આને "લગભગ ધોરણ સ્થિતિ" તરીકે પણ ઓળખવામાં આવે છે. |