Stránka 1 z 1
Nevalidní kód v HTML
Napsal: ned 27. úno 2005, 12:27
od Spectral
Potřeboval bych poradit od někoho, kdo je sběhlý v HTML. Já sám jsem s tím začal teprve před pár dny, takže znám jenom absolutní minimum. I tak se ale snažím psát validní kód, což se mi celkem dařilo do té doby, než jsem si na stránky fláknul počítadlo od TOPlistu. Vybral jsem možnost, která umožňuje monitorovat IP adresy, odkud návštěvníci přišli, takže kód počitadla obsahuje i jakýsi skript. A právě tenhle skript TOPlistu (který jsem prostě okopíroval a vložil na stránky, páč tomu zatím prd rozumím) mi způsobuje error při kontrole validity:
http://validator.w3.org/check?uri=www.s ... Faudi.html
Zde je celý kód TOPlistu:
Kód: Vybrat vše
<a href="http://www.toplist.cz" ><script language="JavaScript" type="text/javascript">
<!--
document.write ('<img src="http://toplist.cz/count.asp?id=118944&logo=&http='+escape(document.referrer)+'" width="88" height="31" border=0 alt="TOPlist" />');
//--></script><noscript><img SRC="http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" /></noscript></a>
Kdybyste někdo věděl, jak ten kód upravit, aby zároveň běhalo počitadlo tak, jak běhá teď, a přitom by byl kód validní, byl bych vám vděčný. Díky
Napsal: ned 27. úno 2005, 12:34
od johny128
tuto cast vyhod
<noscript><img SRC="
http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" /></noscript>

je to neoriginalne, ale dneska uz neublizi nikomu...
Napsal: ned 27. úno 2005, 12:37
od Spectral
A co to znamená? Co se stane, když to vyhodím? Proč to tam teda je?
(sorry za blbé otázky, ale snažím se tomu trošku porozumnět a něco se přiučit

)
Díky
Napsal: ned 27. úno 2005, 12:43
od johny128
Kód: Vybrat vše
<a href="http://www.toplist.cz" >
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<img src="http://toplist.cz/count.asp?id=118944&logo=&http='+escape(document.referrer)+'" width="88" height="31" border=0 alt="TOPlist" />');
//--></script>
<noscript><img SRC="http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" /></noscript>
</a>
mas klasicky odkaz, <a> , ktory odkazuje na stranky
www.toplist.cz , ako text/obrazok toho odkazu sa natiahne cez java script obrazok
http://toplist.cz/count.asp?id=118944&l ... .referrer)+'" width="88" height="31" border=0 alt="TOPlist
a koniec, <a> sa uzatvori...v pripade ze prehliadac navstevnika ale nepodporuje javascripty(nejaky extremne starobily pocitac) tak cela cast <script> a </script> sa odignoruje(lebo je v komentaroch <!-- a konci ukoncovacim tagom komentarov //--> ) a zobrazi sa obsah tagu <noscript> (ako logicke po prelozeni z angliny

) ) ...lenze ako hovorim, dnes uz ma snad kazdy komp prehliadac s podporou javascriptov
Napsal: ned 27. úno 2005, 12:50
od Spectral
johny128 píše:mas klasicky odkaz, <a> , ktory odkazuje na stranky
www.toplist.cz , ako text/obrazok toho odkazu sa natiahne cez java script obrazok
http://toplist.cz/count.asp?id=118944&l ... .referrer)+'" width="88" height="31" border=0 alt="TOPlist
a koniec, <a> sa uzatvori...v pripade ze prehliadac navstevnika ale nepodporuje javascripty(nejaky extremne starobily pocitac) tak cela cast <script> a </script> sa odignoruje(lebo je v komentaroch <!-- a konci ukoncovacim tagom komentarov //--> ) a zobrazi sa obsah tagu <noscript> (ako logicke po prelozeni z angliny

) ) ...lenze ako hovorim, dnes uz ma snad kazdy komp prehliadac s podporou javascriptov
Super, dík za vysvětlení. Jestli ti to nevadí, mám ještě 2 otázky:
1) Když je tahle varianta tak kompatibilní, že funguje s javascriptem i bez něj, proč je to podle W3C nevalidní? Co tam smrdí? Proč je podle W3C nutné noscript odstranit?
2) Když bude někdo přistupovat z moderního prohlížeče, ale s vypnutým Javascriptem, tak co? Tak by se taky použil obsah noscript (který tam ale teď nebude)?
Napsal: ned 27. úno 2005, 12:59
od johny128
heh, ides na to logicky

daj mi chvilu, troska to poskusam...ale takto, ked mas na kompe vypnute javascripty, tak ano, malo by to prejst na noscript a co mu smrdi ti po validici vypise...akoby noscript nemohol byt v <a> </a> tagu...no nic, idem aj napisat maila do toplistu, nech sa vyjadria..
Napsal: ned 27. úno 2005, 13:01
od miho
1) protoze noscript je zrejme blokovy element takze nemuze byt uvnitr neblokoveho elementu. Ten kod by se musel mirne prekopat aby to bylo validni. Konkretne ten href dostat do toho skriptu i do noscriptu. Dalsim resenim je pouziti varianty, ktera nesleduje referery jako to mame tady na foru
Kód: Vybrat vše
<A HREF="http://www.toplist.cz/" target="_top"><IMG SRC="http://www.toplist.cz/count.asp?id=74331&logo=1" alt="TOPlist" border="0"></A>
2) spravna otazka. Dle nasich pruzkumu ma 5% lidi JS vypnuty. Pokud teda odstranis noscript tak se tam ten obrazek nezobrazi a nezapocita ti to do statistik.
Napsal: ned 27. úno 2005, 13:05
od johny128
@miho, to je fakt dobre s tym target, ma nenapadlo...

Napsal: ned 27. úno 2005, 13:08
od Spectral
miho píše:Ten kod by se musel mirne prekopat aby to bylo validni. Konkretne ten href dostat do toho skriptu i do noscriptu.
A zvládnul bys to?
miho píše:Dalsim resenim je pouziti varianty, ktera nesleduje referery jako to mame tady na foru
Nn, to právě nechci. Chtěl bych zachovat dosavadní funkčnost.
miho píše:2) spravna otazka. Dle nasich pruzkumu ma 5% lidi JS vypnuty. Pokud teda odstranis noscript tak se tam ten obrazek nezobrazi a nezapocita ti to do statistik.
Jenom 5 %? Tak to je docela v klidu. Víc lidí se IMHO ztratí tím, že to odfiltruje Adblock (třeba ten můj, s nastavením od Zomba).
Napsal: ned 27. úno 2005, 13:12
od miho
testni totot':
Kód: Vybrat vše
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<a href="http://www.toplist.cz" ><img src="http://toplist.cz/count.asp?id=118944&logo=&http='+escape(document.referrer)+'" width="88" height="31" border=0 alt="TOPlist" /></a>');
//--></script>
<noscript><a href="http://www.toplist.cz" ><img SRC="http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" /></a></noscript>
Napsal: ned 27. úno 2005, 13:32
od Spectral
miho píše:testni totot':
Kód: Vybrat vše
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<a href="http://www.toplist.cz" ><img src="http://toplist.cz/count.asp?id=118944&logo=&http='+escape(document.referrer)+'" width="88" height="31" border=0 alt="TOPlist" /></a>');
//--></script>
<noscript><a href="http://www.toplist.cz" ><img SRC="http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" /></a></noscript>
Non valid:
http://validator.w3.org/check?uri=www.s ... i_pok.html
Co dál?
Napsal: ned 27. úno 2005, 13:41
od miho
Tentokrat to je ale chyba validatoru protoze parsuje uvnitr JS coz je chyba.
Napsal: ned 27. úno 2005, 13:50
od Spectral
miho píše:Tentokrat to je ale chyba validatoru protoze parsuje uvnitr JS coz je chyba.
Hmm. A co teď? Buď fakt vypustit noscript, nebo se smířit s tím, že to podle validatoru nebude valid, je to tak?
Napsal: ned 27. úno 2005, 20:20
od Banana
...
Napsal: ned 27. úno 2005, 21:39
od Sir_Killer
Len taka mala otazka, NACO MI JE DOKELU VALIDNY KOD ???
Na machrovanie ? Nestaci, ze sa to zobrazi korektne vo ff, opere aj IE ?
Napsal: ned 27. úno 2005, 21:46
od zombux
Sir_Killer píše:Len taka mala otazka, NACO MI JE DOKELU VALIDNY KOD ???
Na machrovanie ? Nestaci, ze sa to zobrazi korektne vo ff, opere aj IE ?
jj, na co je program prolezlej chybama, když to nějak funguje

když něco programuješ tak to snad musí bejt pořádně a ne to odfláknout

Napsal: pon 28. úno 2005, 15:40
od Spectral
Tak už to mám!

Kód je konečně validní a přitom zůstalo vše kompletně funkční. Největší poděkování patří mihovi, který to napsal v jádru dobře, jenom tam nechal 2 malé chybičky, které způsobovaly error. Na ty 2 chybky jsem přišel já

, takže z toho mám dvojnásobnou radost. Tady je původní mihův kód, ve kterém jsou červeně označeny tagy, které stačilo jednoduše vymazat a bylo hotovo:
Poděkování patří také všem ostatním, kteří se mi snažili poradit

Napsal: pon 28. úno 2005, 18:11
od Banana
az nato ze mas ted otevreny tag <img>
a co tak zkusit dat
Kód: Vybrat vše
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<img src="http://toplist.cz/count.asp?id=118944&logo=&http='+escape(document.referrer)+'" width="88" height="31" border=0 alt="TOPlist" /></a>');
//-->
</script>
<noscript>
<img SRC="http://toplist.cz/count.asp?id=118944&logo=" border="0"
alt="TOPlist" width="88" height="31" />
</noscript>