Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

google kode (javascript) validerer ikke

7 views
Skip to first unread message

Preben Nielsen

unread,
May 17, 2011, 8:14:52 AM5/17/11
to
Jeg har indsat noget kode kopieret fra http://translate.google.com/translate_tools,
hvor tryk på link udløser en oversættelse til et givet sprog (i mit
eksempel italiensk). Og det virker som det skal. Men da jeg så
tjekkede via W3 Markup Validation Service, viser den 19 fejl for koden
til blot ét sprog. Koden kan ses isoleret på denne side:
http://vinsiderne.dk/test_translate/translate_fejl.htm

Jeg kan ikke hverken skrive eller læse javascript, så jeg ved ikke
hvordan jeg skal forholde mig til dette. Kan koden virkelig være så
fejlbehæftet? Og hvis den er: Hvad gør jeg så? Eller er det ligemeget,
så længe det virker? Det sidste vil ærgre mig, da jeg under
renoveringsarbejdet med mit site har sørget for at alle sider
validerer.

Den ovenfor anførte google side giver iøvrigt 825 fejl ifølge W3
validatoren!

Birger Sørensen

unread,
May 17, 2011, 9:07:50 AM5/17/11
to

Javascript hører til i <head> - ikke i en href for et anchor.
Læg koden hvor den hører til, i en funktion der kaldes ved onclick. Det
behøver så ikke være et anchor - selvom det nok er passende i dit
tilfælde.
Der gives en hel del fejl, som skyldes at koden ikke er masket af -
specielt når man skriver XHTML, er der visse tegn man ikke kan skrive i
js, uden enten at escape dem, eller markere hele scriptet som CDATA.

Selve koden vil jeg ikke gå ind i. Det er een lang linie - 593
karakterer - der overhovedet ikke er til at overskue. Og jeg har ikke
et par timer, til lige at formattere det, så det er overskueligt.

Man kan selvfølgelig - som Google og mange andre med dem - være
ligeglad med valideringen, når bare tingene virker. Det påvirker
formentlig langtidsholdbarheden af din kode.

Har du checket i IE? Overvejet hvor crossbrowser compatibelt skal det
være?

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk


Birger Sørensen

unread,
May 17, 2011, 10:08:12 AM5/17/11
to
Preben Nielsen skrev den 17-05-2011:

Gjorde så lidt alligevel.
http://bbsorensen.com/test/translate/
Alt står i kilden. Validerer, er overskueligt - det kan man ikke sige
om resultatet der leveres af Google... - og fungerer svjks.

Preben Nielsen

unread,
May 17, 2011, 12:05:50 PM5/17/11
to
On 17 Maj, 16:08, Birger Sørensen wrote:

> Gjorde så lidt alligevel.http://bbsorensen.com/test/translate/


> Alt står i kilden. Validerer, er overskueligt - det kan man ikke sige
> om resultatet der leveres af Google... - og fungerer svjks.

Tusind tusind tak!!!

Jeg kører med seks sprog og har derfor gentaget koden seks gange (både
den i <head> og den i <body>) og navngivet function TranslateIt() for
italiensk, function TranslateEn() for engelsk osv. Jeg går ikke ud fra
det kan forenkles/forkortes?

Tænk at man kan blive så glad for at se sin kode validere igen :-) Det
andet var virkelig trist.

Preben

Birger Sørensen

unread,
May 17, 2011, 12:28:45 PM5/17/11
to
Preben Nielsen formulerede spørgsmålet:

Det er et spørgsmål om parametre...
http://bbsorensen.com/test/translate
Skulle gøre det.

Preben Nielsen

unread,
May 17, 2011, 2:32:38 PM5/17/11
to
On 17 Maj, 18:28, Birger Sørensen wrote:

> Det er et spørgsmål om parametre...http://bbsorensen.com/test/translate
> Skulle gøre det.

Yep. Der blev da lige sparet noget kode der! Smukt.

En enkelt ting: Med din kode (men ikke med den oprindelige google-
kode) er der I Firefox, når man har klikket for at få en oversættelse,
kryds på rød baggrund ved javascript-fejl og med meddelelsen:
Javascript-fejl: document.getElementById("Instructions") is null.
Hvad skal jeg lægge i det?

Preben

Birger Sørensen

unread,
May 17, 2011, 3:11:28 PM5/17/11
to
Preben Nielsen formulerede spørgsmålet:

Jeg har ikke været på googlesiden og set, hvad meningen egentlig er...
Det er den oprindelige kode i onclick på anchoret, der giver fejlen.
Den skal vise en alert med indholdet af et element med id
"'instructions'". Jeg har lidt en fornemmelse af at den ikke hører til
- måske en rest, der hører til den side du har kopieret fra.
Du kan prøve at fjerne den linie i js der begynder med alert(... -
eller evt. udkommentere den (// først på linien), og se om tingene
stadig virker. Det burde det, og fejlen forsvinde.
Hvis den skal bruges, bør den reelt stå forrest (som første linie i
funktionen Transalte) - de efterfølgende linier skifter til en ny side,
så alerten bliver aldrig udført.

Preben Nielsen

unread,
May 17, 2011, 3:52:57 PM5/17/11
to
On 17 Maj, 21:11, Birger Sørensen wrote:

> Jeg har ikke været på googlesiden og set, hvad meningen egentlig er...
> Det er den oprindelige kode i onclick på anchoret, der giver fejlen.
> Den skal vise en alert med indholdet af et element med id
> "'instructions'". Jeg har lidt en fornemmelse af at den ikke hører til
> - måske en rest, der hører til den side du har kopieret fra.
> Du kan prøve at fjerne den linie i js der begynder med alert(... -
> eller evt. udkommentere den (// først på linien), og se om tingene
> stadig virker. Det burde det, og fejlen forsvinde.
> Hvis den skal bruges, bør den reelt stå forrest (som første linie i
> funktionen Transalte) - de efterfølgende linier skifter til en ny side,

> så alerten bliver aldrig udført.'

Jeg fjernede linjen begyndende med alert(... -
hvorefter det stadig virker som det skal, og FF viser ingen
javascriptfejl.

Mange tak igen!

Preben

Leif Neland

unread,
May 18, 2011, 7:31:06 AM5/18/11
to
Birger Sørensen wrote:
> Det er et spørgsmål om parametre...
> http://bbsorensen.com/test/translate
> Skulle gøre det.
>
I både IE8, FF4 og Opera kommer der den ene oversættelses"div" efter den
anden, og der kommer aldrig den oversatte tekst frem; oversættelsen går i
løkke.

Mærkvunderligt...

Leif


Birger Sørensen

unread,
May 18, 2011, 7:48:23 AM5/18/11
to
Leif Neland formulerede spørgsmålet:

Jeg har kun testet i FF4, men det virker fint her.
Og JS'et - der jo oprindeligt stammer fra noget kopiering fra Google -
ser ud til at tage forbehold for browser forskelle.

Så ja, det lyder Mærkvunderligt. :')
Keine hexerei, nur filurendreierei. Med et er vel sådan det er, med
Google. :-[

0 new messages