Autor Zpráva
roko
Profil
ahojte chcel by som vas poprosit o pomoc pri validacii mojej stranky na ktorej sa nachadza fotogaleria je to stranka http://www.rohace.php5.sk/index.php?page=volovec nachadza sa na nej javascript ktory mi vo validatore vypisuje chybne znaky ako by som to mal osterit aby mit o nevypisovalo skusal som aj cdata ale ked som to das validator sice nenasiel ziadnu chybu ale skrypt nefungoval tu je link na validator http://validator.w3.org/check?uri=http://www.rohace.php5.sk/index.php?page=volovec

a tu je kod skriptu

<script src="http://www.rohace.php5.sk/img/volovec/getpics.php" type="text/javascript"></script>
<div id="gal" class="gal">
<div id="nadpis">Volovec 29.9.2008</div>
<script type="text/javascript">

var dimension="3x5" 
var imagepath="http://www.rohace.php5.sk/img/volovec/" 
var href_target="new" 
var popupsetting=[1, "width=600px, height=450px, scrollbars=no, resizable=no"]
var descriptionprefix=[0, "Photo "]
var gsortorder="asc"
var targetlinkdir="http://www.rohace.php5.sk/img/volovec/image/"
function sortbydate(a, b){ //Sort images function
if (gsortorder=="asc") /
return new Date(a[1])-new Date(b[1])
else if (gsortorder=="desc") 
return new Date(b[1])-new Date(a[1])
}
if (gsortorder=="asc" || gsortorder=="desc")
galleryarray.sort(sortbydate)
var totalslots=dimension.split("x")[0]*dimension.split("x")[1]
function buildimage(i){
var imagecompletepath=(targetlinkdir!="")? targetlinkdir+galleryarray[i][0] : imagepath+galleryarray[i][0]
var tempcontainer='<a href="'+imagecompletepath+'" rel="lightbox" class="slideshow"><img src="'+imagepath+galleryarray[i][0]+'"/></a>'
return tempcontainer
}

var curimage=0
for (y=0; y<dimension.split ("x")[1]; y++){
for (x=0; x<dimension.split("x")[0]; x++){
if (curimage<galleryarray.length)
document.write('<div id="slide'+curimage+'" class="slideshow">'+buildimage(curimage)+'</div>')
curimage++
}
document.write('<br style="clear: left">')
}

function popuplinkfunc(imgsrc){
if (popupsetting[0]==1){
var popwin=open(imgsrc.href, "popwin", popupsetting[1])
popwin.focus()
return false
}
else
return true
}

</script>
</div>



dakujem za kazdu radu a pomoc ....
Měsíček
Profil
Jestliže nerozumíš anglickým hlášením použij český validátor.
roko
Profil
skusal som aj cesky validator ale nepomohlo mi to nejak pise ze mam tam nepovolene znaky a ked ich vymazem, alebo nieco s nimi urobim tak mi nefunguje skript
Joker
Profil
roko
Převážná většina těch hlášek se týká vnitřku prvku <script>, který validátor taky prochází a totálně ho to zblbne.
Vpodstatě snad žádná z těch hlášek není nějaká podstatná chyba.

Šlo by to řešit "HTML" metodou, uzavřít skript do HTML komentáře:
<script ...>
<!--
(...kód skriptu...)
-->
</script>
...i když z čistě teoretického akademického pohledu to taky nemusí být správně

Anebo je "XML způsob", dát obsah skriptu do CDATA.

Třetí možnost je hodit Javascript do externího souboru a odkazovat na něj přes <script src="..."></script>
Chamurappi
Profil
Reaguji na Jokera:
Sekce CDATA už zkoušel, ale nefunguje mu to, protože užívá HTML a ne XHTML.

Reaguji na roka:
Odstraň postupně chyby nahlášené českým validátorem a dostaneš kód funkční a validní zároveň. Jakmile vyměníš <!doctype>, popisy chybových hlášek budou výstižnější.
roko
Profil
heh diky Joker som uzavrel ten skyript html komentarom a chyby odstranilo naozaj diky len este by som potreboval help s doctype na ceskom validatore mi najde chybu a na w3c.org nie ale ked ju opravim tak zasa na w3c.org ano
Joker
Profil
Chamurappi
Toho s tím CDATA jsem si nevšiml.

Každopádně já bych doporučil skripty dávat do zvláštních souborů. Ani ne kvůli validátoru, ale zdá se mi to přehlednější a navíc si prohlížeč ty soubory může kešovat a ne že při každé změně stránky musí znovu stahovat i Javascripty.

roko
Jen poznamenám, že při tom řešení HTML komentářem může ve validátoru nastat taková záludná chybka, a to v případě, kdy se ve skriptu objeví dvě pomlčky za sebou (--, což je shodou okolností operátor pro snížení o 1)

Ad ten problém s doctype- já bych to řekl tak, že vzhledem k Chamurappiho postoji k XHTML je nejlepší způsob, jak projít jeho validátorem, nepoužívat XHTML :-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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