Leave the Doctype բրաուզերների մեջ Quirks Mode- ում
Եթե դուք նախագծել եք վեբ էջեր ավելի քան մի քանի ամիս, դուք ամենայն հավանականությամբ տեղյակ եք այն էջի գրելու դժվարության մասին, որը նույնն է բոլոր բրաուզերում : Ի դեպ, դա անհնար է: Շատ բրաուզերներ գրվել են հատուկ առանձնահատկություններով, որոնք միայն կարող են կարգավորել: Կամ նրանք ունեն հատուկ ձեւեր, որոնք վերաբերում են այն բաներին, որոնք տարբերվում են այն բանից, թե ինչպես են մյուս բրաուզերները կարգավորել դրանք: Օրինակ:
- Շերտերը ստեղծվել են Netscape բրաուզերներում օգտագործելու համար: Նրանք ոչ մի այլ բրաուզերում չեն աշխատում, եւ, փաստորեն, չեղյալ են համարվել Netscape 6.x + համակարգում:
- Ներածված շրջանակները նախապես ստեղծվել են Internet Explorer- ի համար, եւ դարձել են HTML ճշգրտման մաս:
- Internet Explorer 6.0- ն ավելացնում է լրացուցիչ տարածք (ինչպես
) շրջապատող պիտակները, եթե դուք չեք գրում բաժնի բովանդակությունը բոլորը մեկ (երկար) գծում: (IE 6-ը շատ ավելի շատ քներ ունի, ինչպես նաեւ այս մեկը): - Netscpe 4.7- ը չի ցուցադրի այն աղյուսակները, որոնք գրված չեն ճիշտ HTML- ում, այն փոխարինում է դատարկ էջին: Սա ամրագրված է Netscape 6-ում:
Բրաուզերի մշակողների խնդիրն այն է, որ նրանք պետք է ստեղծեն վեբ բրաուզերներ, որոնք հետընթաց են համատեղելի հին բրաուզերների համար կառուցված վեբ էջերում: Այս հարցի լուծման համար զննարկիչները ստեղծել են ռեժիմներ, որոնք գործում են բրաուզերների համար: Այս ռեժիմները որոշվում են DOCTYPE տարրի ներկայության կամ բացակայության եւ այն, ինչ DOCTYPE- ն է:
DOCTYPE Անցում եւ "Quirks Mode"
Եթե ձեր ինտերնետային էջում տեղադրել եք հետեւյալ DOCTYPE- ը,
Ժամանակակից բրաուզերները (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+)
- Քանի որ կա ճիշտ գրված DOCTYPE, սա առաջացնում է ստանդարտ ռեժիմ:
- Դա HTML 4.01 անցումային փաստաթուղթ է
- Քանի որ այն ստանդարտ ռեժիմում է, բրաուզերների մեծ մասը կցուցադրի բովանդակության բավարար (կամ հիմնականում համապատասխանում է) HTML 4.01 հետ անցումային
Եվ եթե դուք այս DOCTYPE- ը ձեր փաստաթղթում եք տեղադրել,
Սա պատմում է ժամանակակից բրաուզերներին, որոնք ցանկանում եք ցուցադրել ձեր HTML 4.01 էջը, DTD- ին խիստ համապատասխան:
Այս բրաուզերները կստանան «խիստ» կամ «ստանդարտ» ռեժիմ եւ էջը համապատասխան չափանիշներին համապատասխան: (Այսպիսով, այս փաստաթուղթը, օրինակ, պիտակները կարող են լիովին անտեսվել բրաուզերից, քանի որ FONT տարրը հանել է HTML 4.01 խստությամբ:)
Եթե դուք դուրս եք գալիս DOCTYPE- ից ամբողջությամբ, ապա բրաուզերները ինքնաբերաբար կսկսեն «quirks» ռեժիմով:
Ստորեւ ներկայացված աղյուսակը ցույց է տալիս, թե ինչ են անում ընդհանուր զննարկիչները, երբ ներկայացնում են տարբեր ընդհանուր DOCTYPE հայտարարագրերը:
Microsoft- ը դժվարացնում է
Internet Explorer 6- ը ունի նաեւ առանձնահատկություն, որ եթե դուք դնում եք միեւնույն բանը DOCTYPE հռչակագրից, ապա նրանք կխաղան կատակների ռեժիմով: Այսպիսով, այս երկու օրինակները IE 6-ը կդնեն կատակների ռեժիմի մեջ, չնայած, որ DOCTYPE հայտարարությունները ասում են, որ պետք է լինեն խիստ ստանդարտ ռեժիմում.
եւ XHTML 1.1 DOKTYPE:
Ընդ որում, եթե դուք անցել եք IE6- ից, ապա դուք ունեք «առանձնահատկություն», որ Microsoft- ը ավելացրել է IE8- ում եւ IE9- ում: META տարրերի փոխարկումը եւ կայքը սեւ ցուցակում: Փաստորեն, այս երկու բրաուզերի տարբերակները այժմ ունեն 7 տարբեր տարբերակ:
- 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 Mode- ը:
Quirks- ի ռեժիմը ստեղծվել է օգնելու բոլոր տարօրինակ մատուցումների եւ ոչ պատշաճ բրաուզերի օգնության հետ եւ խուսափելու համար, որ վեբ դիզայներները օգտագործում էին այդ գործերը զբաղվելու համար: Այն մտահոգությունը, որ բրենդերի արտադրողները եղել են, որ եթե նրանք անցնեն իրենց բրաուզերները լիարժեք ճշգրտման համապատասխանության, ապա վեբ դիզայներները մնացին:
DOKTYPE անցումը եւ «Quirks Mode» - ի ստեղծումը թույլ տվեց, որ վեբ դիզայներները ընտրեն, թե ինչպես են նրանք ցանկանում բրաուզերներին իրենց HTML ձեւակերպել:
Quirks ռեժիմի հետեւանքները
Կան մի քանի հետեւանք, որ մեծ թվով բրաուզերները օգտագործում են Quirks Mode- ում:
- Որոշ բրաուզերներում տուփի մոդելը փոխում է քնկոտման ռեժիմում տուփի մոդելի IE 5.5 տարբերակը:
- Որոշ բրաուզերները ոճերը չեն ժառանգել սեղաններ
- Quirks ռեժիմը ազդում է կտրուկ CSS- ի եւ CSS- ի դասավորության վերլուծության վրա, եթե դուք էջերը ստվերում ռեժիմից ստանդարտ ռեժիմում փոխակերպում եք, համոզվեք, որ փորձեք ձեր CSS դասավորությունը եւ լայնորեն վերլուծել:
- Դիտեք սցենարների փոփոխությունների ժամանակ փոփոխություններ կատարելու ժամանակ: Firefox- ը փոխում է id հատկությունը, օրինակ. IE8- ը եւ IE9- ը շատ կտրուկ փոփոխություններ են ունենում քնկոտ ռեժիմում սցենարով:
Կան նաեւ տարբերություններ «Գրեթե ստանդարտների ռեժիմում».
- Սեղանի բջիջների բարձրությունը միայն ներկերի պատկերներով հաշվարկվում է տարբեր կարգի ստանդարտ ռեժիմից:
Ինչպես ընտրել DOCTYPE
Ես ավելի մանրամասն ծանոթանում եմ DOCTYPE ցուցակի իմ հոդվածում, բայց այստեղ կան որոշ ընդհանուր կանոններ.
- Միշտ ընտրեք ստանդարտ ռեժիմը: Եվ դուք պետք է օգտագործեք ներկայիս ստանդարտը HTML5: Եթե ձեր HTML5 DOCTYPE- ից խուսափելու համար կոնկրետ պատճառ չկա, ապա դա այն է, ինչ դուք պետք է օգտագործեք:
- Անցեք կոշտ HTML 4.01-ը, եթե դուք պետք է վավերացնեք ժառանգության տարրերը կամ ուզում եք խուսափել նոր առանձնահատկություններից որեւէ պատճառով:
- Եթե դուք պատկերները կտրել եք սեղանի վրա եւ չեք ցանկանում դրանք ամրացնել, անցեք Անցումային HTML 4.01:
- Չարագործների ռեժիմում միանգամից գրեք էջերը: Միշտ օգտագործեք DOCTYPE- ը: Սա ապագայում ձեզ փրկելու է զարգացման ժամանակահատվածում եւ իսկապես օգուտ չի բերում: IE6- ը արագորեն կորցնում է ժողովրդականությունը եւ այս զննարկիչը նախագծելով (որը, ըստ էության, այն է, թե ինչ է նախագծում quirks ռեժիմում) դուք սահմանափակվում եք ինքներդ, ձեր ընթերցողներին եւ ձեր էջերին: Եթե դուք պետք է գրեք IE 6 կամ 7 համար, ապա օգտագործեք պայմանական մեկնաբանություններ այնուամենայնիվ նրանց աջակցելու համար, այլ ոչ թե ժամանակակից բրաուզերների մեջ կատաղություն ռեժիմի մեջ:
Ինչու օգտագործել DOCTYPE- ը
Երբ դուք տեղյակ եք այս տեսակի DOCTYPE անջատման մասին, կարող եք ավելի շուտ ազդել ձեր վեբ էջերի վրա, օգտագործելով DOCTYPE- ը, որը ցույց է տալիս, թե ինչ կարող է ակնկալել զննարկիչը ձեր էջից: Բացի այդ, երբ դուք սկսում եք օգտագործել DOCTYPE- ը, դուք գրելու եք HTML, որը ավելի մոտ է վավերական լինելու համար (դուք դեռ պետք է վավերացնեք այն): Եւ գրելով վավեր XHTML, դուք խրախուսում եք բրաուզերների պատրաստման չափանիշներին համապատասխան բրաուզերներ:
Browser Versions եւ Quirks Mode- ը
DOCTYPE- ը | Android- ը Chrome- ը Firefox IE 8+ iOS- ը Օպերա 7.5+ Safari- ն | IE 6 IE 7 Օպերա 7 | Netscape 6 |
---|---|---|---|
Ոչ ոք | Quirks Mode- ը | Quirks Mode- ը | Quirks Mode- ը |
HTML 3.2 | |||
Quirks Mode- ը | Quirks Mode- ը | Quirks Mode- ը | |
HTML 4.01 | |||
Անցումային | Ստանդարտների ռեժիմ * | Ստանդարտների ռեժիմ * | Ստանդարտների ռեժիմ |
Անցումային | Quirks Mode- ը | Quirks Mode- ը | Quirks Mode- ը |
Խիստ | Ստանդարտների ռեժիմ | Ստանդարտների ռեժիմ * | Ստանդարտների ռեժիմ |
Խիստ | Ստանդարտների ռեժիմ | Ստանդարտների ռեժիմ * | Ստանդարտների ռեժիմ |
HTML5 | |||
Ստանդարտների ռեժիմ | Ստանդարտների ռեժիմ * | Quirks Mode- ը | |
* Այս DOCTYPE- ի հետ բրաուզերները մոտ են ստանդարտներին համապատասխանող, բայց ունեն որոշ հարցեր `համոզվեք, որ փորձարկեք: Սա նաեւ հայտնի է «Գրեթե Ստանդարտների ռեժիմը»: |