Autor Zpráva
krteczek
Profil
Dobrý den, skouším vložit do xhtml ( transitional ) stránky javascript a validátor mi píše něco o objectu...
nevím jak ho tam dostat.
kod (výřez ) je zde:

<div id="pocitadlo">
	<a href="http://www.toplist.cz" >
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<img src="http://toplist.cz/count.asp?id=146626&amp;logo=mc&amp;http='+esca  pe(document.referrer)+'&amp;t='+escape(document.title)+'" width="88" height="60" border=0 alt="TOPlist" />');
//--></script>
		<noscript>
			<img SRC="http://toplist.cz/count.asp?id=146626&amp;logo=mc" border="0" alt="TOPlist" width="88" height="60" />
		</noscript></a>
</div>

pls jak to upravit na objec t?
díky krteczek
Polaroid
Profil
V čem je přesně chyba nevim, každopádně smaž ten atribut language - nepoužívá se, jelikož nejsou standardizovány názvy programovacích jazyků. Třeba to pomůže.
j_hajsl
Profil
<script type="text/javascript">

a místo uvozovek použij escapovaný apostrof \' (pouze v tom document.write)
Fred
Profil
http://hulan.cz/blog/archive/welldone/2004-12/category/blog-cms
Chamurappi
Profil
Reaguji na krteczka:
Musíš míti o lidech v TopListu nevalného mínění, předpokládáš-li, že jejich měřicí kód není odladěný pro co nejširší škálu prohlížečů. Použiješ-li kteroukoliv „správnou“ XHTML alternativu, zaneseš si do statistik dobrovolně chybu.

Reaguji na Polaroida:
„každopádně smaž ten atribut language [...] Třeba to pomůže“
Ptal se na validitu proti DTD XHTML 1.0 Transitional. Tam language je.

„language se nepoužívá, jelikož nejsou standardizovány názvy programovacích jazyků“
Místo něj W3C doporučuje užívat atribut type. Ten sice má své standardizované hodnoty, nicméně žádná z nich není vyhrazena pro skriptovací jazyk (či alespoň do 6. června 2005 nebyla). Z pohledu standardizačního purismu proto považuji za vhodnější uvést language a vypustit type. V praxi samozřejmě není nutný ani jeden.

Reaguji na j_hajsla:
Nechápu. Co je na uvozovkách špatného?
Fred
Profil
BTW to řešení Radka Hulána je pro správný mime typ. V tom kódu nahoře je spíš chybou, že noscript nemá co dělat uvnitř odkazu. Proto by mělo fungovat tohle

<a href="http://www.toplist.cz" >
<script language="JavaScript" type="text/javascript">
<!--
document.write ('<img src="http://toplist.cz/count.asp?id=146626&amp;logo=mc&amp;http='+esca pe(document.referrer)+'&amp;t='+escape(document.title)+'" width="88" height="60" border=0 alt="TOPlist" />');
//-->
</script>
</a>
<noscript>
<a href="http://www.toplist.cz" >
<img SRC="http://toplist.cz/count.asp?id=146626&amp;logo=mc" border="0" alt="TOPlist" width="88" height="60" /></a>
</noscript>
peta
Profil *
krteczek
Demostranku sim. protoze jsi neuvedl podle jake normy to ma byt validni. Pri strict se pouzivaji lomitka.
<img src="http:\/\/toplist.cz\/coun
... protoze podle JS normy jsou dve lomitka po sobe komentar do konce radku, treba (Fred viz, jak ses mne ptal minule a firefox hlasi i jedno jako chybu)
Chamurappi
Profil
Reaguji na Freda:
„noscript nemá co dělat uvnitř odkazu“
Odjakživa má. Malá rekapitulace:
1) Netscape 3 ho zavedl jako řádkový při vypnutém skriptování
2) Doporučení HTML 4 (kapitola 18.3.1) o jeho vizuální reprezentaci nehovoří
3) Definice typu dokumentu HTML 4 ho přihazuje do entity %block;
4) Vzorový stylopis pro HTML 4 v doporučení CSS 2 mu nepřiřazuje žádnou hodnotu vlastnosti display, tj. ponechává výchozí inline
Zmíněná krteczkova konstrukce odporuje jen a pouze DTD. To není pádný důvod pro její nepoužívání.

Reaguji na petu:
Sice neuvedl, podle jaké „normy“, ale DTD zjevně uvedl: XHTML 1.0 Transitional.

„Pri strict se pouzivaji lomitka“
Netuším, jak bys toto prazvláštní pravidlo vyjádřil v řeči DTD.

„podle JS normy jsou dve lomitka po sobe komentar do konce radku“
Norma EcmaScriptu neurčuje validitu proti DTD. Její dodržování validátor nekontroluje. Dvě lomítka sice uvozují komentář, ale nikoli uvnitř řetězce.
krteczek
Profil
takže: díky všem, já použil to hulánovo řešení... .-)
jo a bylo to tím language...(kromě jiného :-)
krteczek
Chamurappi
Profil
Reaguji na krteczka:
Hulánovo řešení pravděpodobně odfiltruje ze statistik přístupy ze starších prohlížečů. Zcela zbytečně si snížíš naměřený počet návštěv.
Vysvětli mi, prosím, proč se bráníš použití „oficiálního“ měřícího kódu.

„jo a bylo to tím language“
Jo a nebylo, poněvadž language v Transitional DTD je.
peta
Profil *
Chamurappi sem si nevsiml, ok. Nemel to v tom kodu, no :)

Co se tyce toho language, se ridim FF. Ten mi to vcucne, ale musim tam mit jeste type. Bez language to chybu nehlasi. A pokud plati, ze Gecko skupina jako jedina zobrazuje JS spravne, tak se budu ridit timto i nadale. To same doporucuji ostatnim. Ridit se pravidlyi programu, ktery to zpravcovava, ne pravidly, ktere vymyslela nejaka skupina pred 10-20 lety, kdy se nic nevedelo o 1000G discich.
Fred
Profil
Chamurappi No to je pak těžký
Noscript
html 4 strict block
html 4 trans inline
xhtml 1 framest inline
xhtml 1 trans inline
xhtml 1 strict inline a block
Chamurappi
Profil
Reaguji na Freda:
Jestli jsem Tě dobře pochopil, pokusil ses vypsat, které elementy může <noscript> podle DTD obsahovat. I tak se mi zdá, že tam máš několik chyb. V tomto případě je ale rozhodující, uvnitř kterých elementů smí být sám <noscript> obsažen.
Všechny HTML 4 DTD: Je v entitě %block; a ta není povolena uvnitř odkazu.
Všechny XHTML 1 DTD: Je v entitě %misc; a ta není povolena uvnitř odkazu.
Že nesmí být uvnitř <a> považuji za chybu.
Fred
Profil
Chamurappi Ctěl jsem přesněji říct: No to je pak těžký - v tom aby se čert vyznal.
Stáhnul jsem si ty dtd a pokoušel se to vyčíst přímo z nich, protože něco najít na w3 je občas nad lidské síly. Jestli jsem to vyčetl správně to si teda jistý nejsem :-).
Proč považujete za chybu, že nesmí být uvnitř <a>?
Nemám to ověřené, takže tohle bude spekulace, ale připadá mi celkem logická z důvodů přístupnosti. Většina postižených údajně používá MSIE. No a když udělám tohle

<a href="nekam.html"><noscript>popis co je na nekam.html</nopscript></a> tak se to při zapnutém js nezobrazí, ale je to tam. Kdyby ten odkaz měl title tak bude jen matoucí, protože se na něj nedá kliknout.
I když to by pak analogicky mělo být nevalidní i toto <a href="nekam.html"></a>
Chamurappi
Profil
Reaguji na Freda:
Proč považujete za chybu, že nesmí být uvnitř <a>?
Viz úplně první příspěvek na této stránce. Považuji za chybu, že nemůže být v řádkových elementech obecně.

Nemám to ověřené, takže tohle bude spekulace, ale připadá mi celkem logická z důvodů přístupnosti.
Mně ani ne. Navíc účelem validity by nemělo být (a zpravidla není) zajištění přístupnosti.

Většina postižených údajně používá MSIE...
Ano, hlasové čtečky často užívají jádro Exploreru. Ten JS umí.
krteczek
Profil
OT: chtěl bych poprosit Chamurappiho o svolení používat tento obrázek:
Chamurappi
Profil
Jak chceš, krteczku. Odkážeš-li zároveň na Webylon, budu vděčný :-)
krteczek
Profil
Chamurappi: Díky ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0