Autor Zpráva
xxxpetko
Profil
Potreboval by som pomoc so stránkou supernatural-music.jecool.net, je to stránka zameraná povečine na sťahovanie a prehrávanie rockovej a metalovej hudby, mám tu však problém s valoditou. Keď dám stránku zvalidovať v akomkoľvek validátore, vipíše mi tam chybu tipu "chýba deklarácia" - lenže ja tam deklaráciu mám a vyzerá to, že je koretkná, takisto to zmetkuje pre <meta> tagoch, ktoré sú podľa mňa vyplnené správne, preto by som Vás chcel poprosiť aby ste si pozreli zdrojový kód a povedali mi, kde robím chybu.
PS: Viem že tam sú aj iné chyby, no vyriešenie tej najdôležitejšej by podľa mňa ich počet mnohonásobne zmenšil...

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>supernatural-music</title>
    <meta http-equiv="Content-Type" content="text/html;charset=windows-1250">
    <meta name=”keywords” content=”supernaturalmusic,supernatural-music,music bring light,music,song,metal,rock,metalsong,rocksong,supernatural-music.jecool.net”>
    <meta name=”description” content=”We believe, that music can bring light for you ! Metal,rock,others, you can download, no captcha,...”>
    <meta name="google-site-verification" content="5YMtaiitZcA2lHJ9Tir2GZ-YS7DwVfTRrJ4BaU1uUnA" />
    <link rel="stylesheet" href="style.css" type="text/css">
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<script src="search3.js" type="text/javascript"></script>
<style type="text/css"><!--
span.searchword {
        background-color: orange;
}
--></style>
<script language="javascript" type="text/javascript">
function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}
</script>
<script language="javascript" type="text/javascript">
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
</script>
<script type="text/javascript" src="http://blueboard.cz/counter_1.php?jid=n6i9hm3u74c5642ej9fm7pkv0nt8hs"></script>
<style type="text/css">

 #fixedtipdiv{
position:absolute;
padding: 2px;
border:1px solid black;
font:normal 12px Verdana;
line-height:18px;
z-index:100;
}

 a:link {color: #0000ff;}
a:visited {color: #0000ff;}
a:active {color: #0000ff;}
//a:hover {background-color: #ffffff;}
a {text-decoration: none;}

 </style>

 </head>
...
panther
Profil
xxxpetko:
než řešit nepodstatnou validitu, podívej se, jaké uvozovky se používají v HTML kolem atributů, jak se píší v CSS komentáře (a jak fungují hromadné/sdružené selektory v CSS).
xxxpetko
Profil
Díki za radu, pozriem sa nato...
Trejpa
Profil
xxxpetko:
lenže ja tam deklaráciu mám a vyzerá to, že je koretkná
Není korektní. Musí být na začátku souboru, ty ale před ním máš dvakrát BOM (kódování máš stejně windows-1250, takže by tam neměl být ani jeden).

Pak validátor konečně začne validovat podle deklarace. A jak napsal panther, prvně bude nadávat na špatný typ uvozovek. Používají se programátorské dvojité (") nebo jednoduché ('). V žádném případě se nepoužívají anglické ani jiné horní skloněné a jim podobné znaky (například “ ” ‟ ¨ ″ ‶ ′ ‵ ´ ‘ ’ ‛).

Potom objeví:
- chybějící ALT u obrázků (to není tak podstatné, jako ty uvozovky),
- neukončené elementy a kvůli nim tabulku v řádkovém elementu, kam nepatří
- element EMBED, který v žádné oficiální DTD není, takže nemůže být ani validní
- a možná toho bude víc.
Bubák
Profil
Trejpa:
Musí být na začátku souboru, ty ale před ním máš dvakrát BOM
Ne, je tam jen jednou, ale validátor je zmaten, protože meta tag tvrdí, že jde u windows-1250.

element EMBED, který v žádné oficiální DTD není, takže nemůže být ani validní
xxxpetko by mohl deklarovat HTML5, tam EMBED je. Ale není tam FONT, ten musí pryč.

xxxpetko:
Nemá cenu se v tom hrabat, ten kód je taková příšernost, že rychlejší je to napsat znova z čisté vody.
xxxpetko
Profil
Tak som to opravil, tie uvodzovky som si ja hlupák predtím ani nevšimol, že sú iné(meta tagy som kopíroval z inej stránky a upravoval), opravil som aj ten alt aj všetko, takže hore namiesto tamtej deklarácia
<!DOCTYPE html>(alebo tak nejak podobne, to si pozriem) a namiesto font to zadefinovať v css, vyskúšam a dám Vám vedieť, ďakujem za pomoc :)
EDIT: ok, stranka je validný html5(tvrdí to validátor), prepísal som to a spravil vtom trocha poriadok, tak už to taká katastrofa dúfam nieje :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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