Autor | Zpráva | ||
---|---|---|---|
Musilda Profil |
Dobrý den, můžete mi prosím vysvětlit proč validátor na toto
<div id="horni_menu"> <ul> <div class="horni_menu1"> <li><a href="index.php?dn=5724">Home</a></li> </div> <div class="horni_menu1"> <li><a href="index.php?dn=5725">Aktuality</a></li> </div> <div class="horni_menu1"> <li><a href="index.php?dn=5727">Reference</a></li> </div> <div class="horni_menu1"> <li><a href="index.php?dn=5729">Ceník</a></li> </div> <div class="horni_menu1"> <li><a href="index.php?dn=5730">Kontakt</a></li> </div> <div class="horni_menu1"> <li><a href="index.php?dn=5728">Poptávka</a></li> </div> </ul> </div> Vypíše # Řádek 29, znak 8: element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR". <li><a href="index.php?dn=5725">Aktuality</a></li> ^ # Chyba Řádek 32, znak 8: element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR". <li><a href="index.php?dn=5727">Reference</a></li> ^ # Chyba Řádek 35, znak 8: element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR". <li><a href="index.php?dn=5729">Ceník</a></li> ^ # Chyba Řádek 38, znak 8: element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR". <li><a href="index.php?dn=5730">Kontakt</a></li> ^ # Chyba Řádek 41, znak 8: element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR". <li><a href="index.php?dn=5728">Poptávka</a></li> # Chyba Řádek 25, znak 3: ukončovací značka elementu "LI" je vynechána, což jeho deklarace nepřipouští. <div class="horni_menu1"> ^ Zapomněli jste uzavřít element. # Chyba Řádek 25, znak 27: počáteční značka elementu "LI" je vynechána, což jeho deklarace nepřipouští. <div class="horni_menu1"> |
||
bitbit Profil |
#2 · Zasláno: 5. 2. 2009, 22:32:58
Protoze mas kolem li jeste ty divy
|
||
Str4wberry Profil |
#3 · Zasláno: 5. 2. 2009, 22:38:03
Proč si nepřečtete ty hlášky, Musildo?
element "LI" není dovolen na tomto místě; musí být uvnitř jednoho z elementů "UL", "OL", "MENU", "DIR" Pokud chcete stránku validní, tak postupujte následovně: <div id="horni_menu"> <ul> <li><div class="horni_menu1"> <a href="index.php?dn=5724">Home</a></div></li> </ul> </div> |
||
Chamurappi Profil |
#4 · Zasláno: 5. 2. 2009, 22:45:51
Reaguji na Musildu:
Snaž se chybové hlášky řešit postupně. Když vidím „ukončovací značka elementu "LI" je vynechána, což jeho deklarace nepřipouští“, předpokládám, že tohle nejsou všechny chyby, které ti validátor hlásí. |
||
Musilda Profil |
#5 · Zasláno: 5. 2. 2009, 22:54:51 · Upravil/a: Musilda
Str4wberry
Děkuji nyní tomu již rozumím. A ty "hlášky" jsem četl, jinak bych sem asi nepsal, že? Chamurappi Před touto hláškou mám pouze několik varování na Řádek 10, znak 49: zjištěn NET zápis. <meta http-equiv="content-language" content="cs"/> Což jsem ještě nevyhledal a chybnou definici typu dokumentu. |
||
SwimX Profil |
#6 · Zasláno: 5. 2. 2009, 23:08:11
Musilda
„zjištěn NET zápis.“ „a chybnou definici typu dokumentu.“ tipnu si. Používáš XHTML ale odesíláš mime type text/html Je to falešné XHTML, protože ho stejně všechny prohlížeče berou jako HTML (díkybohu), takže bych ti doporučil změnit DOCTYPE na HTML 4.01 Trans nebo strict jak chceš. A vyházet ty /> |
||
Trejpa Profil |
#7 · Zasláno: 6. 2. 2009, 08:09:50 · Upravil/a: Trejpa
Musilda
„<meta http-equiv="content-language" content="cs"/> “ NET zápis v HTML specifikaci umožňuje zkracovat značky: <b>tučné</b> lze zkrátit na <b/tučné/, <hr> na <hr/ a podobně. Protože má lomítko ukončovací funkci, měl by prohlížeč tvou značku <meta ... /> chápat jako <meta ... >> - tedy vykreslit za značkou pravou špičatou závorku. Pokud je tato závorka v hlavičce, jedná se o textová data, která hlavičku automaticky ukončí. Potom je tvá značka podle specifikace chápána takto: <meta ...></head><body>>. To může mít vliv na další výpisy chyb týkající se nevhodného umístění elementů. NET zápis podle specifikace chybou není, ale validátor na ni upozorňuje proto, že ho (naštěstí) většina používaných prohlížečů ignoruje jako syntaktickou chybu, takže se nezobrazí podle specifikace. Díky tomu je tvůj pseudo XHTML kód zobrazen správně. „chybnou definici typu dokumentu“ Pokud jde o chyby v definici typu dokumentu (DTD), tak je to způsobeno nekompatibilitou mezi HTML a XHTML definicemi. Tvůj pseudo XHTML kód posílá v serverové hlavičce MIME type "text/html", takže má na něj prohlížeč i validátor nahlížet podle HTML pravidel, tedy vyžadovat HTML formát definice. Chceš-li, aby to všude fungovalo, ponech MIME typ na hodnotě "text/html". Chceš-li, aby to bylo i validní (v českém validátoru - oficiální v tomto porušuje W3C specifikaci), tak ještě změň DOCTYPE na nějaké kompatibilní s tímto MIME type (doporučuji HTML 4.01 Transitional) a oprav si syntaxi (zejména odstranění těch lomítek na koncích nepárových značek). |
||
panther Profil |
#8 · Zasláno: 6. 2. 2009, 10:46:45
Trejpa
„že ho (naštěstí) většina používaných prohlížečů ignoruje jako syntaktickou chybu,“ většina - máš konkrétní případ prohlížeče, který do této většiny nepatří? |
||
Trejpa Profil |
#9 · Zasláno: 6. 2. 2009, 11:00:41
panther
Ano. Podle mých informací NET zápis zvládá Lynx (ale nemám to jak ověřit). |
||
_es Profil |
#10 · Zasláno: 6. 2. 2009, 11:38:13
Trejpa
„Ano. Podle mých informací NET zápis zvládá Lynx (ale nemám to jak ověřit).“ http://www.yellowpipe.com/yis/tools/lynx/lynx_viewer.php |
||
Trejpa Profil |
#11 · Zasláno: 6. 2. 2009, 12:15:35 · Upravil/a: Trejpa
_es
Ještě tě doplním: http://www.delorie.com/web/lynxview.html Ověřeno. NET zápis v Lynxu funguje (říkají dva on-line testy). EDIT: Funguje, ale ne úplně podle specifikace. Viz Bubák níže. |
||
Bubák Profil |
#12 · Zasláno: 6. 2. 2009, 13:14:51 · Upravil/a: Bubák
Funguje, ale není to přesně podle specifikace, zežere zobáček, >.
Dodatek: Mám na mysli třebas u XHTML značky <br />, podle HTML specifikace by se měl zobáček zobrazit. |
||
Trejpa Profil |
#13 · Zasláno: 6. 2. 2009, 13:56:57
Bubák
Aby se znak > vykreslil, má být podle specifikace zaentitovaný jako >. Řeší snad specifikace vykreslení nezaentitovaných znaků nebo je to na libovůli prohlížečů? Pokud by to specifikace neřešila, potom jí požírání neznámých znaků neodporuje (co neznám, ignoruji). |
||
Bubák Profil |
#14 · Zasláno: 6. 2. 2009, 14:54:50 · Upravil/a: Bubák
<br />
Lynx sežere zobáček <br />> Lynx sežere jeden zobáček, druhý zobrazí //>> Lynx zobrazí správně. > nemusí být entitou, na rozdíl od < |
||
imploder Profil |
#15 · Zasláno: 6. 2. 2009, 15:16:05
Slovosled věty "Element xxx není dovolen na tomto místě" je takový divný - je z anglické verze. Lepší by bylo "Element xxx není na tomto místě dovolen".
|
||
Chamurappi Profil |
#16 · Zasláno: 6. 2. 2009, 17:02:33 · Upravil/a: Chamurappi
Reaguji na Trejpu:
O tom, co si počít s většítkem, se vedla i debata pod mým článkem na Lupě. Je to znak jako každý jiný. V HTML dost často platí, že nezaentitovaný řídicí znak nikdy sám o sobě nezpůsobí syntaktickou chybu. Buď nezpůsobí vůbec žádnou chybu a bere se jako obyčejný znak, nebo způsobí nějakou sofistikovanější (nedefinovanou entitu, neznámý element atd.). Ani menšítko a ampersand se v řadě případů nemusí zapisovat entitou. Reaguji na implodera: Mně připadá zvolený slovosled v pořádku, klade důraz na toto místo. Když ti řeknu „nesmíš sedět tady“, pochopíš z toho, že sedět můžeš, ale někde jinde. Když ti řeknu „nesmíš tady sedět“, pochopíš z toho, že nesmíš sedět, ale můžeš být tady. Při překládání jsem se snažil přemýšlet, nepostupoval jsem jako automat, anglická verze téže hlášky zní: „document type does not allow element (.*?) here; missing one of (.*?) start-tag“. |
||
Časová prodleva: 15 let
|
0