It brûken fan it DOCTYPE-elemint yn 'e quirkenmodus

Gean de Doctype út om browsers yn 'e quirkmodus te bringen

As jo ​​websteeën meardere as in pear moanne ûntwikkele hawwe, binne jo wierskynlik bewust fan 'e swierrichheid by it skriuwen fan in side dy't itselde yn alle browsers is . Yn it algemien is dat net mooglik. In soad browsers waarden skreaun mei spesjale funksjes dy't allinich te krijen hawwe. Of se hawwe spesjale manieren om dingen te hanneljen dy't oars binne as hoe oare browsers har behannelje. Bygelyks:

It probleem foar blêderûntwikkelders is dat se webblêders meitsje moatte dy't rinnen kompatibel binne mei websiden dy't foar âldere browsers boud binne. Om dizze probleem te meitsjen, meitsje de browser makers modus foar de browsers om yn te operearjen. Dizze modus binne definiearre troch de oanwêzigens of ôfwêzigens fan in DOCTYPE-elemint en wat dat DOCTYPE opropt.

DOKTYPE-skeakeljen en "kirks modus"

As jo ​​de folgjende DOCTYPE yn jo webside set:

Moderne browsers (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) jouwe dit yn 'e folgjende wize:

  1. Omdat der in korrekt skreaune DOCTYPE is, sjogge dit normasjemodus.
  2. It is in HTML 4.01 Tydlike dokumint
  3. Om't it yn 'e standertmodus is, sille de measte browsers de ynhâld kompatibel meitsje (of meast konform) mei HTML 4.01 Transitional

En as jo dit DOCTYPE yn jo dokumint pleatse:

Dit fertelt moderne browsers dy't jo HTML 4.01-side sjen wolle yn strikte konformiteit mei de DTD.

Dizze browsers sille yn "strik" of "normes" modus gean en de side yn 'e oarder hâlde mei de standerts. (Sa, foar dit dokumint, wurde tags lykwols folslein negeare troch de blêder, lykas it FONT-elemint is feroare yn HTML 4.01 Strict.)

As jo ​​it DOCTYPE folslein útlitte, wurde de browsers automatysk yn 'e quirks' modus stjoerd.

De tabel hjirûnder lit sjen wat de mienskiplike browsers dwaan as se presinteare binne mei ferskate mienskiplike DOCTYPE-ferklearrings.

Microsoft makket it hurder

Internet Explorer 6 hat ek de funksje dat as jo njonken de DOCTYPE-ferklearring wat nijs sette, sille se yn 'e quirks modus gean. Dus, beide fan dizze foarbylden sille IE 6 yn quirks modus sette, alhoewol de deklaraasjes fan 'e DOCTYPE sizze yn strikte standert modus:

en de XHTML 1.1 DOKTYPE:

Plus, as jo IE6 foardwaan, hawwe jo de "funksje" dat Microsoft tafoegje yn IE8 en IE9: META elemint skeakeljen en webside blacklist. Yn 't feit hawwe dizze twa browserferzjes no oant sân (!) Ferskate modes:

IE 8 hat ek "Kompatibilitätsmodus" ynsteld wêr de brûker kin kieze om it renderingmodel werom te wizigjen nei IE7-modus. Dus dat jo sels de regy ynstelle wolle jo brûke wolle as beide DOCTYPE- en META-eleminten, kin jo side noch hyltyd werom sette yn in minder standert-konforme modus.

Wat is de kirks mode?

Query modus is ûntstien om te helpen om te gean mei alle merklike rendering en net-konforme browser-stipe en haken dy't web-websteeën brûke om te meitsjen mei dy dingen. It soargen dat browser-fabrikanten wie dat as se harren browsers oankwûnen nei folslein spesifisearring oerienkomst, wiene web-ûntwerpen efterlitten.

Mei it opsetten fan DOCTYPE-skeakeljen en "Quirks Mode" hat dizze websteeën socht te kiezen hoe't se browsers wiene om har HTML te meitsjen.

Eardere modus effekten

Der binne ferskate effekten dy't de measte browsers brûke yn Quirks Mode:

Der binne ek in ferskil yn "Almost Standards Mode:"

Hoe kinne jo in DOCTYPE kieze

Ik gean mear yn myn artikel DOCTYPE List, mar hjir binne guon algemiene regels fan thumb:

  1. Altyd de standaardmodus kieze earst. En it hjoeddeistige standert dat jo brûke moatte is HTML5:
    As jo ​​gjin spesifike reden hawwe om te brûken fan it HTML5 DOCTYPE, dit is wat jo brûke moatte.
  2. Gean nei strikte HTML 4.01 as jo nedich binne ferwiderje âlde eleminten of wolle nije foto's foarkomme foar wat reden:
  3. As jo ​​foto's yn sluten hawwe en wolle se net bepale, gean nei Transitional HTML 4.01:
  4. Skep de siden net bewust yn 'e quirks modus. Altyd in DOCTYPE brûke. Dit sil jo ûntwikkelje op 'e takomst, en hat echt gjin foardiel. IE6 fergruttet hurd populêrheid en troch dizze ûntwerp te ûntwikkeljen (wat yn essinsje is wat ûntwerpen yn 'e quirks modus is) jo beskiedje jo, jo lêzers en jo siden. As jo ​​skriuwe moatte foar IE 6 of 7, brûk dan bedoelde reaksjes om se te stypjen, net mear as moderne browsers yn 'e quirks modus te fertsjinjen.

Wêrom brûke DOCTYPE

As jo ​​bewust binne fan dit type fan DOCTYPE-skeakeljen, kinne jo jo websiden direkteur beynfloedzje troch in DOCTYPE te brûken, wat oanjout wat de browser fan jo side ferwachtsje kin. Ek as jo begjinne mei DOCTYPE, kinne jo HTML skriuwe dy't tichterby jildich is (jo moatte it noch bestillearje). En troch jo jildich XHTML te skriuwen, stimulearje jo browser makers om normaasjes konforme browsers te bouwen.

Browser Versions and Quirks Mode

DOKTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Gjin Krystmodus Krystmodus Krystmodus
HTML 3.2
Krystmodus Krystmodus Krystmodus
HTML 4.01
Tydlik Standaardmodus * Standaardmodus * Standards Mode
Tydlik Krystmodus Krystmodus Krystmodus
Strikt Standards Mode Standaardmodus * Standards Mode
Strikt Standards Mode Standaardmodus * Standards Mode
HTML5
Standards Mode Standaardmodus * Krystmodus
* Mei dit DOCTYPE binne browsers tichtby normale konformen, mar hawwe inkele problemen - feilich te hifkjen. Dit is ek bekend as "Almost Standards Mode".