Lasu la dokumentojn por meti retumilojn en Kurson-modon
Se vi desegnis retpaĝojn dum pli ol kelkaj monatoj, vi plej verŝajne konscias pri la malfacileco skribi paĝon, kiu aspektas egala en ĉiuj retumiloj . Fakte, tio estas neebla. Multaj foliumiloj estis skribitaj per specialaj trajtoj, kiujn ili nur povis manipuli. Aŭ ili havas specialajn manierojn por manipuli aferojn, kiuj malsamas de kiel aliaj retumiloj manipulas ilin. Ekzemple:
- Manteloj estis kreitaj por uzo en Netscape-retumiloj. Ili ne funkcias en iu ajn alia retumilo, kaj fakte estis senkulpigitaj en Netscape 6.x +.
- Inline-kadroj estis kreitaj por Internet Explorer nur, kaj ekde tiam ili fariĝis parto de la HTML-specifaĵo.
- Interreto Explorer 6.0 aldonas plian spacon (kiel a
) ĉirkaŭantaj etikedoj, krom se vi skribas la enhavon de la div ĉio sur unu (longa) linio. (IE 6 havas multajn pli daĵojn kiel ĉi tiu.) - Netscpe 4.7 ne montros tabulojn, kiuj ne estas skribitaj en ĝentila HTML - ĝi montras malplenan paĝon anstataŭe. Ĉi tio estis riparita en Netscape 6.
La problemo por retumilaj programistoj estas, ke ili devas krei retumilojn, kiuj estas kongruaj kun paĝoj retejo konstruitaj por malnovaj foliumiloj. Por trakti ĉi tiun aferon, retumilaj kreintoj kreis modojn por ke la retumiloj funkciu. Ĉi tiuj modoj estas difinitaj per la ĉeesto aŭ foresto de DOCTYPE-elemento kaj kion tiu DOCTYPE vokas.
DOCTYPE Ŝaltilo kaj "Kuraĝa Modo"
Se vi metas la jenan Dokumenton en via retpaĝo:
Moderna retumiloj (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opero 6 +, Safaro 1+) interpretus ĉi tion laŭ la sekva maniero:
- Ĉar estas ĝuste skribita DOCTPE, tio ĉi funkciigas normojn.
- Ĝi estas HTML 4.01 Transira dokumento
- Ĉar ĝi estas en norma reĝimo, la plimulto de la retumiloj donos la enhavon (aŭ plejparte komplikan) kun HTML 4.01 Transira
Kaj se vi metas ĉi tiun Dokumenton en via dokumento:
Ĉi tio diras modernajn foliumilojn, ke vi volas montri vian HTML-4.01-paĝon en strikta plenumo kun la DTD.
Ĉi tiuj retumiloj iros en "striktan" aŭ "normon" reĝimon kaj redonu la paĝon laŭ la normoj. (Do, por ĉi tiu dokumento, etikedoj, kiel la retumilo tute ignoru, ĉar la elemento de FONT estis aprecita en HTML 4.01 Strikta).
Se vi forlasos la DOCTYPE tute, la retumiloj estas aŭtomate batitaj en "serĉojn".
La tablo sube montras, kion faras la komunaj retumiloj kiam prezentiĝas kun malsamaj komunaj DOCTYPE-deklaroj.
Microsoft Faras ĝin Pli Malfacila
Interreto Explorer 6 ankaŭ havas la trajton, ke se vi metos ion ajn antaŭ la deklaro de la DOCTYPE, ili eniros en la modon de ŝpruciĝoj. Do ambaŭ de ĉi tiuj ekzemploj metos IE 6 en la modon de serĉoj, kvankam la deklaroj de DOCTYPE diras esti en strikta normo:
kaj la XHTML 1.1 DOCTYPE:
Plue, se vi preterlasas IE6, tiam vi havas la "funkcion", kiun Microsoft aldonis en IE8 kaj IE9: META-elementoŝanĝado kaj retejo-nigra listo. Fakte, ĉi tiuj du retumilaj versioj nun havas ĝis sep (!) Malsamaj modoj:
- IE 5.5-serĉa reĝimo (IE 8 kaj 9)
- IE 7 norma reĝimo (IE 8 kaj 9)
- IE 8 preskaŭ norma reĝimo (IE 8 kaj 9)
- IE 8 norma reĝimo (IE 8 kaj 9)
- IE 9 preskaŭ norma reĝimo (IE 9)
- IE 9 norma reĝimo (IE 9)
- XML-modo (IE 9)
IE 8 ankaŭ enkondukis "Kongruecon-Mode" kie la uzanto povus elekti ŝanĝi la bildigan modelon reen al IE 7-modo. Do eĉ se vi agordas la modon, kiun vi volas agordi uzante la elementojn de DOKOJ kaj META, via paĝo ankoraŭ povus esti forpuŝita en malpli norman-plenan modon.
Kio estas Quirks Mode?
Kuraĝa reĝimo estis kreita por helpi trakti ĉiujn stranga bildigo kaj ne-plenumaj retumila subteno kaj hakoj, kiujn uzantoj de la retejo uzis por trakti tiujn aferojn. La maltrankvilo, kiun la retumilaj fabrikantoj havis, ke se ili ŝanĝus siajn retumilojn al plena specifa plenumo, retpaĝistoj forlasiĝos.
Per kreado de DOCTYPE-ŝaltilo kaj "Quirks Mode", ĉi tiu permesita retpaĝistoj elektis, kiel ili volis, ke retumiloj redonu sian HTML.
Quirks Mode Efektoj
Ekzistas pluraj efikoj, kiujn plej multaj retumiloj uzas en Quirks Mode:
- En iuj retumiloj, la skatolo-modelo ŝanĝas la IE-5.5-version de la skatolo-modelo en la modoj de serĉo.
- Iuj foliumiloj ne heredas stilojn en tabulojn
- Quirks mode efikas la analizadon de CSS kaj CSS-aranĝo draste, se vi konvertas paĝojn al normaj reĝimoj de la programo, bonvolu certigi vian CSS-aranĝon kaj analizi vaste.
- Rigardu la ŝanĝojn por skribi kiam vi volas en la modo. Firefox ŝanĝas la manieron, kiel la atributo de id funkcias, ekzemple. IE8 kaj IE9 havas tre dramajn ŝanĝojn al skripto en la modoj.
Ankaŭ ekzistas diferenco en "Preskaŭ Norma Modo:"
- La alteco de tabulaj ĉeloj kun nur bildoj interne estas komputita malsame de norma reĝimo.
Kiel Elekti DOCTYPE
Mi eniras pli detale en mia artikolo Listo de Dokumentoj, sed jen kelkaj ĝeneralaj reguloj de dikfingro:
- Ĉiam elektu normajn modojn unue. Kaj la nuna normo vi devus uzi estas HTML5: Krom se vi havas specifan kialon por eviti uzi la HTML5-Dokumenton, tio estas kion vi devus uzi.
- Iru al strikta HTML 4.01 se vi bezonas validigi legacajn elementojn aŭ volas eviti novajn funkciojn por iu kialo:
- Se vi havas tranĉitajn bildojn en tablo kaj ne volas ripari ilin, iru al Transitional HTML 4.01:
- Ne skribu paĝojn deliberadamente en la modoj de serĉo. Ĉiam uzu DOCTYPE. Ĉi tio savos vin en la tempo de disvolviĝo en la estonteco, kaj vere ne havas profiton. IE6 rapide perdas popularecon kaj per desegnado por ĉi tiu retumilo (kiu estas esence, kion desegnante en la sistemo de serĉo) vi limigas vin mem, viaj legantoj kaj viaj paĝoj. Se vi devas skribi por IE 6 aŭ 7, tiam uzu kondiĉajn komentojn por subteni ilin, prefere ol devigi modernajn foliumilojn en la modon de kirkoj.
Kial Uzu DOCTYPE
Fojo vi konscias, ke ĉi tiu tipo de ŝanĝo de DOCTPE okazas, vi povas pli efike tuŝi viajn retpaĝojn per DOCTPE, kiu indikas, kion la retumilo povas atendi de via paĝo. Ankaŭ, kiam vi komencas uzi DOCTYPE, vi skribos HTML, kiu estas pli proksima al esti valida (vi ankoraŭ devas validigi ĝin). Kaj per skribanta valida XHTML, vi instigas retumilojn por konstrui normojn plenajn retumilojn.
Foliumilo Versioj kaj Quirks Mode
DOCTIO | Android Chrome Firefox IE 8+ iOS Opero 7.5 + Safaro | IE 6 IE 7 Opero 7 | Netscape 6 |
---|---|---|---|
Neniu | Kora Modo | Kora Modo | Kora Modo |
HTML 3.2 | |||
Kora Modo | Kora Modo | Kora Modo | |
HTML 4.01 | |||
Transira | Norma Modo * | Norma Modo * | Norma Modo |
Transira | Kora Modo | Kora Modo | Kora Modo |
Strikta | Norma Modo | Norma Modo * | Norma Modo |
Strikta | Norma Modo | Norma Modo * | Norma Modo |
HTML5 | |||
Norma Modo | Norma Modo * | Kora Modo | |
* Kun ĉi tiu DOCTYPE, retumiloj estas proksime al normoj plenumaj, sed havas iujn aferojn - certu provi. Ĉi tio ankaŭ estas konata kiel "Preskaŭ Norma Modo". |