Obávám se, že se mi zhroutil svět. Tedy aspoň jedna z konstant mého světa. Zřejmě už nemůžu psát HTML tak, jak jsem ho psal posledních 10 let.
Podívejte se třeba na tento blogpost. Slova „Click here“ by měla být klikatelným linkem, ale v nejnovější Opeře jím prý nejsou! Důvodem je údajně skutečnost, že URL nemám v uvozovkách. Mám tam něco jako:
<a href=http://server.cz>Click here</a>
a mělo by tam být:
<a href="http://server.cz">Click here</a>
Je mi naprosto jasné, že druhá verze je správná a že je správná už spoustu let, snad od samotného vzniku HTML. Na druhou stranu, zvyk je železná košile, a já měl za to, že vynechání uvozovek u URL (které neobsahuje mezery nebo jiné „divné znaky“) je „drobnost“, přes kterou se každý browser s grácií přenese a nebude mu vadit. Všichni víme, že podobných ne zcela korektních „drobností“ jsou v HTML spousty…
Může mi někdo zodpovedně vysvětlit, zda je to jen dočasná chyba v Opeře, nebo nějaký nový strašlivý trend? Budu se muset skutečně uchýlit k validnímu XHTML (6 miliónů návštěv, tři redakční systémy, penis 39 cm)?
Nejlepší rada je nepsat HTML v obyčejném textovém editoru, ale v nástroji k tomu určeném, který nás pohlídá a tyto detaily řeší za nás. Samozřejmostí by měla být před publikováním kontrola nějakým validátorem (např. tidy nebo http://validator.w3.org).
Je to jednoduché. Jestli někdo píše html tak může psát co chce a každý prohlížeč to pochopí. Jestli někdo chce být profesionál a držet se STRICTních pravidel, pak ve STRICTních pravidlech je, že musí být adresa v uvozovkách. Jestli je pak prohlížeč, který k dokumentu přistupuje jako k obyčejnému html, ačkoliv v hlavičce je řečeno, že jej má posuzovat dle STRICTních pravidlech, tak je to chyba tohoto prohlížeče. Každý prohlížeč by měl správně po nalezení chyby ve STRICTNím dokumentu ukončit jeho zpracování a ohlásit chybu.
Jestli ale neumíš psát podle STRICTních pravidel, tak piš jak chceš, ale dokument pak neoznačuj jako STRICT. Jseš pak jako lama na druhou.
Ze strany tvůrců Opery bych to viděl nějak takto "To není bug, ale featura!".
Samozřejmě chyba částečně může být i na Vaší straně (jak zmiňoval výše - nesprávný DOCTYPE), přesto se v takovém případě Opera nechová korektně, viz. http://wellstyled.com/html-doctype-and-browser-mode.html
Místo STRICT tam dej LAX :-) Ne, zkus to slovo Strict nahradit transitional, celý doctype je
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Více třeba na
http://www.alistapart.com/stories/doctype/
2:halogan
u uvedeného webu je použito XHTML, které vyžaduje malá písmena atributů a hodnoty v uvozovkách, vše jinak odporuje DTD
Nejideálnějším řešením je dodrožovat to DTD blogpostu. Tj.: v značkách (tag) nepoužívat u atributů velká písmena, hodnoty do uvozovek ( <a href="xxx.cy"> je správně; <a Href=xxx.cy> je špatně). Nepárové tagy např. mají na konci lomítko (tj.: <br> je špatně, <br /> je správně).
Jinak co se týka HTML je i Vaše použití správné. Ovšem z hlediska XHTML je špatně, respektive XHTML vyžaduje mnou uvedené konvence.
Více o správném zápisu XHTML (spíše přechodu z HTML na XHTML) naleznete na http://www.sovavsiti.cz/c01341.html .
Nebojte se článek si přečíst, přechod je velmi rychlý a nenáročný. V podstatě jde je o co nejkorektnější syntaxi html....
Přesněji to nefunguje v posledních dvou weekly buildech Opery 9 (8246 a 8265), která zatím vyšla jen v Technology preview verzi a rozhodně tam něco v nepořádku bude, protože to dělá s těmi uvozovkami problém i na stránkách, které STRICT nejsou, což asi není úplně dobře (jak jsem byl upozorněn až poté, co jsem Františka upozorňoval na to, že jeho odkazy mi v O9 nefungují, protože v nich zapomněl uvozovky). A je dost pravděpodobné, že to souvisí se zmíněným splněním ACID2 testu, protože jestli se nepletu, tak právě build 8246 je první, který projde.
Každopádně i přesto si myslím, že psát odkazy s uvozovkami je tak jako tak správnější a že by se to zrovna takový internetový veterán mohl naučit...
No ono půjde psát odkazy tím starým špatným způsobem, jen je potřeba si dát pozor na lomítka. Pokud je lomítko bezprostředně před koncem tagu je to celé vyhodnoceno jako ukončovací tag.
Takže řešením je buď si zvyknout na vynechání koncového lomítka (které je IMHO stejně zbytečné) nebo nechat mezi ním a koncem aspoň mezeru.
Vše je řečeno na www.fuxoft.cz
Přečteno 93 220×
Přečteno 84 985×
Přečteno 42 553×
Přečteno 41 296×
Přečteno 37 869×