noobSlide i XHTML validacija

Koristim slide, Sample 5

http://www.efectorelativo.net/laboratory/noobSlide/

Radi, nije problem.

Problem je što ne prolazi XHTML validaciju.

Validacija ne prolazi za <a, <b i slične tagove.

Da li je to problem do validatora koji pokušava validirati java kod kao html ili do samog koda?

problem je u validatoru jer ne kuži javascript, to možeš izbjeći tako da kad započinješ sa script staviš odnosno da js kod pišeš u html komentarima, na taj način ti w3c valitator to neće provjeravati…

To te ja pitam. :zub:

rep+

Hvala

Ja se toga nikad ne bih sjetio.
Ni na kraj pameti mi ne bi bilo da itko koristi nezakomentirani JavaScript.

Eto, moj prethodnik to nije koristio i ja sam nasljedio nezakomentirani java kod. :slight_smile:
Sada imam barem što raditi.

aa, zato u editoru uvijek kad upišem .

pa ja ga isto ne zakomentiravam, rijetkost, i to baš ako je potrebno da sve bude validno, makar ta dokumentje samo na “papiru” nevalidan, inače mi je praksa da sve držim u externim js fajlovima pa onda nemam potrebe za tim :slight_smile:

[quote=“Kečko”]problem je u validatoru jer ne kuži javascript[/quote]Elementarno pogrešno, zapravo.

Validator ne treba, ne smije i nije mu svrha “kužiti javascript”. Validator mora raditi po specifikacijama onoga što validira.

Dakle, zamislimo specifikacije HTML-a ili bilo kojeg drugog formata koji validiramo, koje u sebi referenciraju… što? Sve danas postojeće, nepostojeće i sutra postojeće programske jezike koji bi se mogli pojavljivati kao sadržaj usađen u to što se validira?

Ili još gore - specifikacije koje će propisivati koji klijentski programski jezik smije podržavati neki klijent i time braniti neki drugi?

Uglavnom, SVE što piše unutar nekih “tagova” HTML-a je tekst (speficacija ga naziva PCDATA ili sl.) koji se mora formatirati u skladu sa sintaksnim pravilima HTML-a.

Tako, uz malo studiranja HTML-a otkrivamo da se znakovi koji mogu biti protumačeni kao dio sintakse, poglavito znakovi “<” i “>” zapisuju pomoću tzv. slovnih entiteta < i &gt.

Kada agent očitava HTML on će takve entitete zamijeniti s “<” i “>” i prilikom daljnje manipulacije (poput, recimo, izvođenja teksta kao programskog koda u programskom jeziku specificiranom kroz atribut “type” (ili čak "langugage) to neće biti < ili > već izvorni znakovi “<” i “>”.

Kako slovni entiteti počinju s “&”, onda se i taj znak sam za sebe mora zapisati kao slovni entitet “&”.

Ovo vrijedi i za sadržaj atributa. Dakle, primjerice, ako imamo “href” atribut sa sadržajem “http://www.example.com/?q=aaa&x=bbb” to treba propisno zapisati kao “http://www.example.com/?q=aaa&x=bbb”. Ako to ne učinimo, validator će - propisno - prijaviti pogrešku "nezavršeni slovni entitet “&x” (naime, on očekuje “&x;”).

Sasvim sigurno bi bilo krivo reći da je to greška validatora jer ne prepoznaje “url-ove”.

[quote=“gorrc”]aa, zato u editoru uvijek kad upišem i udarim enter on izbaci i komentare.[/quote]Ovo je ostatak nepropisne implementacije standarda preglednika koji su išli kompenzirati površno razumijevanje razno-raznih webmajstora. Ovo je kriva implementacija jer bi taj kod trebao biti ignoriran od web-preglednika kao i svaki drugi komentar, tj. preglednik bi trebao taj element tretirati kao da je prazan. Ali se preglednici ponašaju upravo suprotno.

U XHTML-u postoji i mogućnost pisanja teksta u CDATA elementu, ovako:
[html] i &]]>[/html] Naravno, diskutabilno kako koji preglednik to guta.

No, u preglednicima novije generacije ne bi trebalo ništa stavljati u komentare, ako se koriste tri slovna entiteta <, > i &.

Zanimljivo, Gemiusov kod je ovo:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
var pp_gemius_identifier = new String('bao7AIODOLhZXsg9vaJzxmaD7xFNRE7LRibSJy7JRr7.M7');
//--><!]]>
</script>

Ima CDATA ali i komentar.

Al nije validno. Procitaj XHTML specifikaciju (mislim da u HTML-u komentari cak i nisu potrebni).

JavaScript se počeo stavljati unutar komentara zbog starih verzija browsera koji nisu imali podršku za JavaScript. Po logici, bolje da se ne prikaže ništa nego da se ispisuje JavaScript kod na ekranu i razjebe dizajn. Također i zbog onih koji su isključivali JavaScript u vrijeme kada je glavna upotreba JS-a bila za debilne efekte poput padanja snijega, “Klikni OK za ulaz” ili teksta “Welcome to my web site” u status baru.

Danas je mogućnost da netko dođe s prastarom verzijom NN-a zanemariva.

Ali vidi recimo browsere u mobitelima gdje različiti proizvođači i različiti modeli imaju različite browsere nepoznatih specifikacija. Ako nema podršku za JavaScript, a JS kod nije zakomentiran, treba skrolati kroz 20 ekrana JS koda.

Što ako netko dođe s browserom koji čita tekst? Jesi li slušao kako zvuči kad browser čita JavaScript?

A ima i ljudi koji još uvijek isključuju JavaScript.

JavaScript se ne zakomentirava (samo) zbog validnosti koda.
Možda te nije puno briga za slabovidne, mobitelaše i druge s browserima koji ne podržavaju JavaScript (iskreno, nije ni mene), ali nije prevelika tlaka dodati pa zadovoljiti veći broj surfera.

[quote=“gambo”]JavaScript se počeo stavljati unutar komentara zbog starih verzija browsera koji nisu imali podršku za JavaScript. [/quote]Ovdje treba biti pažljiv, stvar je u detaljima.

Ako specifikacija definira SCRIPT element u vrijeme kada se razvija preglednik, onda “ne podržava JavaScript” znači “ignoriraj sve unutar SCRIPT elementa”, a ne “prikaži sve unutar tog elementa kao tekst tako da korisnici preglednika šiznu”.

Što to znači? To znači da se JavaScript počeo stavljati unutar komentara zbog preglednika koji su napisani prije nego je SCRIPT element upće ušao u HTML. Ušao je s verzijom 3.2. 1999. godine (2.0 iz 1995. u svakom slučaju nema taj element).

[quote=“gambo”]Ali vidi recimo browsere u mobitelima gdje različiti proizvođači i različiti modeli imaju različite browsere nepoznatih specifikacija. Ako nema podršku za JavaScript, a JS kod nije zakomentiran, treba skrolati kroz 20 ekrana JS koda.

Što ako netko dođe s browserom koji čita tekst? Jesi li slušao kako zvuči kad browser čita JavaScript?

A ima i ljudi koji još uvijek isključuju JavaScript.

JavaScript se ne zakomentirava (samo) zbog validnosti koda.
Možda te nije puno briga za slabovidne, mobitelaše i druge s browserima koji ne podržavaju JavaScript [/quote]Thnički, sve navedeno zapravo ne stoji u svijetlu gornjega.

Ako govorimo o mobitelima, onda bi se radilo o mobitelima koji (a) prikazuju web-stranice, ali su istovremeno (b) napravljeni prije 1999. godine. Takvi mobiteli uopće ne postoje.

Browseri koji čitaju sadržaj SCRIPT elemenata – ili se radi o čitaču napravljenom prije 1999. ili se radi o proizvodu s pogreškom, i to ozbiljnom.

Isključivanje JavaScripta NEĆE uzrokovati da se kod pokaže kao tekst. Naprosto JavaScript neće raditi.

Praktično, ako danas i sada postoje u većem broju, recimo, NOVI mobiteli koji se ponašaju na način da prikazuju sadržaj SCRIPT elementa kao tekst, umjesto da ga ignoriraju, onda je razlog zašto treba komentirati JS u totalnom diletantizmu proizvođača mobitela, a nikako ne u tehnički pravilnom načinu pisanja koda ili zbog toga što se tako podupire accessibility. Naprosto se kompenziraju ozbilje pogreške i propusti autora preglednika.

Evo tu je sve lijepo objasnjeno:


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja