Quirks moduko DOCTYPE elementua erabiliz

Utzi Doctype arakatzaileak Quirks Mode moduan jartzea

Web orri batzuk diseinatu badituzu hilabete batzuk baino gehiagotan, ziurrenik arakatzaile guztietan itxura berdina duen orri bat idazteko zailtasunak dituzu. Izan ere, hori ezinezkoa da. Nabigatzaile askok soilik maneiatu zituzten ezaugarri bereziekin idatzi zituzten. Edo beste nabigatzaileek nola kudeatzen duten ezberdintzen duten gauzak modu berezian gordetzen dituzte. Adibidez:

Arakatzaileen garatzaileentzako arazoa da arakatzaile zaharragoentzako eraiki diren web orriekin bateragarriak diren web arakatzaileak sortzeko. Gai honi aurre egiteko, arakatzailearen arduradunek moduak sortu dituzte nabigatzaileetan funtzionatzeko. Modu hauek DOCTYPE elementu baten presentzia edo gabezia eta DOCTYPE deiak zer den zehazten dute.

DOCTYPE aldatzea eta "Quirks Mode"

DOCTYPE hauek zure webgunean jartzen badituzu:

Nabigatzaile modernoak (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) interpretatuko litzateke honela:

  1. DOCTYPE behar bezala idazten denez, estandar modua abiarazten du.
  2. HTML 4.01 Transitional dokumentu bat da
  3. Estandar moduan dagoelako, nabigatzaile gehienek edukia betetzen edo (batez ere betetzen duten) HTML 4.01 Transitional

Eta zure dokumentuan DOCTYPE hau jarri baduzu:

Horrek HTML 4.01 orrialdea erakutsi nahi diozun nabigatzaile moderneari DTDren betetze zorrotzarekin.

Nabigatzaile horiek "zorrotz" edo "estandar" moduan sartuko dira eta estandarrak betetzeko orria erakutsiko dute. (Beraz, dokumentu honetarako, nabigatzailean guztiz baztertuak izan daitezkeen etiketak, FONT elementua HTML 4.01 zorrotza izan da.)

DOCTYPEk guztiz utzi ezkero, nabigatzaileak automatikoki "quirks" moduan sartuko dira.

Ondorengo taulan, arakatzaile arruntak DOCTYPE deklarazio ezberdinekin aurkezten direnean erakusten du.

Microsoft-ek zailagoa egiten du

Internet Explorer 6-k ere DOCTYPE adierazpenaren gainetik ezer jarri ez baduzu egin beharreko funtzioa izango duzu. Beraz, adibide horietako bi IE 6 bitartekoak izango dira, nahiz eta DOCTYPEren deklarazioak estandar zorrotzak direla esan:

eta XHTML 1.1 DOCTYPE:

Gainera, IE6 iragarkia lortzen baduzu, orduan Microsoft-ek "IE8 eta IE9: META elementu kommutazioa eta webguneen zerrenda beltza gehitu ditu. Izan ere, bi arakatzailearen bertsio hauek orain zazpi (!) Modu ezberdinetan daude:

IE 8-k "Bateragarritasun modua" ere sartu zuen, erabiltzaileak errendatze-eredua IE 7 modura aldatu ahal izateko. Modu horretan, DOCTYPE eta META elementuen bidez ezarri nahi duzun modua ezartzen baduzu, zure orria oraindik ere estandar bateragarria den moduan itzuliko litzateke.

Zer da Quirks Mode?

Quirks modua sortu zen arakatzailearen errendatze eta arakatzaile ez betetzeak eta hackek diseinaturiko hackei aurre egin behar zitzaizkien gauza horiei aurre egiteko. Nabigatzaileen fabrikatzaileek izan zuten kezka, nabigatzaileek zehaztapen osoa betetzea baieztatu zutenean, web diseinatzaileek atzean utziko lukete.

DOCTYPEren kommutazioa eta "Quirks Mode" konfiguratzen dituztenei esker, web diseinatzaileek nabigatzaileek HTML nola errendatu nahi zuten aukeratzeko aukera dute.

Quirks moduko efektuak

Nabigatzaile gehienek Quirks Mode erabiltzen duten hainbat efektu daude:

"Ia normalizazio modua:" aukera ere badago.

Nola aukeratu DOCTYPE bat?

Zehaztasun gehiago dut nire DOCTYPE zerrendan, baina hona hemen zenbait arau orokor:

  1. Beti aukeratu estandar modua lehenik. Eta HTML5 bertsioa erabili behar duzun uneko estandarra:
    HTML5 DOCTYPE erabiltzea saihesteko arrazoi zehatzik ez baduzu, hau erabili beharko zenuke.
  2. Joan HTML 4.01 zorrotzari ondarearen elementuak baliozkotzeko edo arrazoi berri batengatik funtzio berriak ekidin nahi badituzu:
  3. Mahai batean irudiak mozten badituzu eta ez zaizkizu konpondu, joan 4.01 bertsioan.
  4. Ez idatzi orrialdeak deliberately quirks moduan. Erabili beti DOCTYPE bat. Horrek garapenean garatuko du etorkizunean, eta benetan ez da onura. IE6 ospea galdu egiten ari da eta arakatzaile hau diseinatzen du (hau da, funtsean, zer moduz diseinatzen den) norberaren burua, zure irakurgailuak eta zure orriak mugatzen ari zara. IE 6 edo 7ra idazteko idatzi behar baduzu, erabili baldintzazko iruzkinak haiei laguntzeko, baizik eta arakatzaile modernoak behartzen dituena.

Zergatik erabili DOCTYPE?

Behin DOCTYPE kommutazio modukoa entzuten ari zarenean, zuzenean zure web orrietan eragina izan dezakezu, zure arakatzaileak zure orrialdeak espero duenaren arabera adierazten duen DOCTYPE bat erabiliz. Gainera, DOCTYPE erabiltzen hasi ondoren, HTMLa idazten ari zara baliozkoa izateko hurbilago (balidatu beharko zenuke ere). XHTML baliodun bat idaztea, arakatzailearen arduradunek nabigatzaile arauekin bateragarriak izatea ahalbidetzen dute.

Arakatzaileen bertsioak eta Quirks modua

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Bat ere ez Quirks Mode Quirks Mode Quirks Mode
HTML 3.2
Quirks Mode Quirks Mode Quirks Mode
HTML 4.01
Trantsizioko Arau modua * Arau modua * Arau modua
Trantsizioko Quirks Mode Quirks Mode Quirks Mode
zorrotza Arau modua Arau modua * Arau modua
zorrotza Arau modua Arau modua * Arau modua
HTML5
Arau modua Arau modua * Quirks Mode
* DOCTYPE honekin, arakatzaileek estandarrak betetzen dituzte, baina arazo batzuk daude-ziur egon proba. Honek ere "Normalizazio Modernoak" izenez ezagutzen da.