Autor Zpráva
Jcas
Profil *
Několikrát jsem tady na foru narazil na to, že by docktype měco být na absolutním začátku souboru.
Kdy to platí? Až pro odeslaný dokument ze serveru prohlížeči?
Co php kód před docktype?

Při použití header() nemůžu mít dozktype na zčátku.???
Fisir
Profil
Reaguji na Jcase [#1]:
Doctype je třeba mít téměř na začátku výstupu HTML souboru. Pokud ještě odesíláš pomocí PHP hlavičky, deklarace doctype bude samozřejmě až za PHP kódem.
margin
Profil *
Fisir:
Doctype je třeba mít na začátku výstupu HTML souboru.
Nevím, zda specifikace dovoluje mít před doctype bílé znaky (mezery, odřádkování...) a nechce se mi to v nejbližší době zjišťovat, ale prohlížečům bílé znaky před doctype nevadí.

Pokud ještě odesíláš pomocí PHP hlavičky, deklarace doctype bude samozřejmě až za PHP kódem.
Pokud je soubor v kódování UTF-8, tak je pořadí HTTP hlavičky, BOM (jen jeden! a kdo stoprocentně neví, o co jde, tak tomu důrazně doporučuji BOM nepoužívat), HTML kód.
Fisir
Profil
Reaguji na margina [#3]:
Nevím, zda specifikace dovoluje mít před doctype bílé znaky
Povoluje. BOM a jakýkoli počet komentářů či bílých znaků. (HTML5)
Trejpa
Profil
Jcas:
Prohlížeč nevidí PHP kód, ale výsledné HTML, takže PHP kódu včetně souborové hlavičky může být před doctype plno.

Důvodem, proč se doporučuje používat doctype na začátku souboru bez bílých znaků je ten, že Internet Explorer 6 svůj standardní vykreslovací režim odvozuje pouze od správného doctype uvedeného na úplném začátku souboru (nanejvýše za jedním BOMem). Další verze tuto chybu opravily a umožňují i správně pochopit (tedy ignorovat) bílé znaky, HTML komentáře a rádoby XML prology uvedené před doctype. Pokud ti tedy záleží na standardním vykreslovacím režimu v Internet Exploreru 6, tak uváděj doctype na začátku souboru; pokud ne (máš to třeba ošetřeno jinak), tak to můžeš ignorovat.

(Ne docktype, ale doctype.)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: