|
| Javascript i firefox Fra : Jacob Jensen |
Dato : 17-08-05 11:38 |
|
Hej, jeg her blevet henvist hertil fra dk.edb.internet.software.browser.
Jeg har et problem med firefox :) Jeg har et javascript som kun vil køre
hvis jeg angiver doctypen til transitional html 4.01. Så snart jeg angiver
den til strict html 4.01 vil firefox ikke have med mit script at gøre.
Hvordan kan det være? IE tager begge dele. Jeg vil gerne have at min side
overholder strict html 4.01.
Jeg har prøvet med et lille script som blot laver en enkelt document.write,
det kører fint. Men så snart scriptet "gør lidt mere" dur det ikke.
Her er en test-side som volder problemer:
Billedet skal bevæge sig.
http://home20.inet.tele.dk/omo/test/html_with_script.htm
Jeg har skrevet begge doctyper i htm-filen så i nemt kan udskifte ved at
kommentere den ene ud.
Jacob
| |
Ryan Kristensen (17-08-2005)
| Kommentar Fra : Ryan Kristensen |
Dato : 17-08-05 13:22 |
|
On Wed, 17 Aug 2005 12:38:27 +0200, Jacob Jensen <omo@adslhome.dk> wrote:
> Jeg har et problem med firefox :) Jeg har et javascript som kun vil køre
> hvis jeg angiver doctypen til transitional html 4.01. Så snart jeg
> angiver
> den til strict html 4.01 vil firefox ikke have med mit script at gøre.
> Hvordan kan det være? IE tager begge dele. Jeg vil gerne have at min side
> overholder strict html 4.01.
Du vil placere din span ved at ændre css egenskaber, men glemmer at angive
enheder.
IE fortolker left:50 som left:50px, og det har så desværre fået en del til
at tro, at man ikke behøver angive enheder. Det er kun hvis værdien er 0
du kan undlade enhed. Ellers skal browseren gætte om man mener 50px, 50%,
50em, 50cm o.l. Mozilla i standard mode undlader at gætte, hvorimod IE
altid forsøger at gætte hvad man mener.
Skriv i stedet: picture.style.left='50px';
--
Ryan Kristensen
| |
Jacob Jensen (17-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 17-08-05 17:30 |
|
> IE fortolker left:50 som left:50px, og det har så desværre fået en del til
> at tro, at man ikke behøver angive enheder. Det er kun hvis værdien er 0
> du kan undlade enhed. Ellers skal browseren gætte om man mener 50px, 50%,
> 50em, 50cm o.l. Mozilla i standard mode undlader at gætte, hvorimod IE
> altid forsøger at gætte hvad man mener.
> Skriv i stedet: picture.style.left='50px';
Tusind tak. Det hjalp. Jeg beregner enhederne du fra en formel, så jeg har
skrev formel+"px" nu og det funger. Hvor præcist er javascript-sproget
egentligt defineret? Er der nogle der kender til dokumenter om javascript?
For mig virker det meget vagt formuleret meget af det man finder.
Jacob
| |
Ryan Kristensen (17-08-2005)
| Kommentar Fra : Ryan Kristensen |
Dato : 17-08-05 19:38 |
|
On Wed, 17 Aug 2005 18:30:02 +0200, Jacob Jensen <omo@adslhome.dk> wrote:
> Er der nogle der kender til dokumenter om javascript?
> For mig virker det meget vagt formuleret meget af det man finder.
Du behøver ikke gå så forfærdeligt langt tilbage i gruppen for at få svar
på det.
I søndags blev der oprettet en tråd med emnet "javascript reference...
hvor?"
Prøv at se svaret.
--
Ryan Kristensen
| |
Jacob Jensen (17-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 17-08-05 20:21 |
|
> Du behøver ikke gå så forfærdeligt langt tilbage i gruppen for at få svar
> på det. I søndags blev der oprettet en tråd med emnet "javascript
> reference... hvor?" Prøv at se svaret.
Sorry, der var jeg FOR doven.
Jacob
| |
Jacob Jensen (17-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 17-08-05 19:05 |
|
> Skriv i stedet: picture.style.left='50px';
Egentligt sjovt at jeg kan validere fint uden enheder nogle steder.
F.eks. i en tabels cellspacing.
Jacob
| |
Ryan Kristensen (17-08-2005)
| Kommentar Fra : Ryan Kristensen |
Dato : 17-08-05 19:34 |
|
On Wed, 17 Aug 2005 20:05:20 +0200, Jacob Jensen <omo@adslhome.dk> wrote:
>> Skriv i stedet: picture.style.left='50px';
>
> Egentligt sjovt at jeg kan validere fint uden enheder nogle steder.
> F.eks. i en tabels cellspacing.
I html skal du ikke angive enhed, med mindre du vil angive størrelsen i
procent.
F.eks. <img width="100" height="90%" src="billede.jpg"> er gyldig html, og
vil give et billede, hvor bredden er 100px og højden er 90% af billedets
højde (bemærk at det ikke er nogen god idé, at skalere billeder på den
måde).
Det samme gør sig gældende ved cellspacing:
<table cellspacing="5"> giver derfor en cellspacing på 5px.
Når du vha. javascript vil ændre på css-egenskaber
(document.getElementById('element').style), så skal du bruge enhed.
Hvis du derimod vil ændre html-egenskaber, så skal du kun angive enhed,
hvis det ikke skal være px. f.eks.
document.getElementById('billede').width = '100';
--
Ryan Kristensen
| |
Lasse Reichstein Nie~ (18-08-2005)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 18-08-05 16:18 |
|
"Jacob Jensen" <omo@adslhome.dk> writes:
>> Skriv i stedet: picture.style.left='50px';
>
> Egentligt sjovt at jeg kan validere fint uden enheder nogle steder.
> F.eks. i en tabels cellspacing.
Det er forskellen på angivelser af længder i HTML og i CSS.
En HTML-længde er enten på formen "10" (underforstået pixels) eller
"10%". Det er en fejl at angive en enhed.
En CSS-længde er på en af formerne "10%", "10cm", "10px", "10em",
etc. Enheden er påkrævet (med den ligegyldige undtagelse hvor værdien
er 0, men glem den og brug altid enhed).
De fleste HTML-attributter er HTML-længeder, mens CSS-længder bruges
i CSS-stylesheets og i "style"-attributten. Så:
<img src=".." alt=".." width="100" style="height:100px">
er korrekt angivet (men grimt! Brug helst CSS, men vær i det mindste
konsekvent :)
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Jacob Jensen (18-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 18-08-05 18:39 |
|
>> Egentligt sjovt at jeg kan validere fint uden enheder nogle steder.
>> F.eks. i en tabels cellspacing.
>
> Det er forskellen på angivelser af længder i HTML og i CSS.
Ja, men lige netop <table cellspacing="xxx"> er vel html? Jeg har også været
ude for andre ting hvor validator.w3.org ikke er SÅ strengent som den godt
kunne være.
Jacob
| |
Jens Gyldenkærne Cla~ (18-08-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 18-08-05 22:37 |
|
Jacob Jensen skrev:
>> Det er forskellen på angivelser af længder i HTML og i CSS.
>
> Ja, men lige netop <table cellspacing="xxx"> er vel html?
Netop - og derfor skal der ikke enheder på. Det er helt i tråd med
såvel Lasses som Ryans indlæg.
> Jeg har også været ude for andre ting hvor validator.w3.org ikke
> er SÅ strengent som den godt kunne være.
Hvad mener du? Der er ikke mangel på stringens i validatoren.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jacob Jensen (19-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 19-08-05 09:05 |
|
> Netop - og derfor skal der ikke enheder på. Det er helt i tråd med
> såvel Lasses som Ryans indlæg.
I skriver det er en fejl at angive enhed, men siden valideres som html 4.01
strict både med og uden enhed.
> Hvad mener du? Der er ikke mangel på stringens i validatoren.
Et eksempel er ovenstående. Et andet er følgende (jeg vil mene at min <p>
tag skal afsluttes):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>
Troldepus hjemmeside
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p>Noget tekst
</body>
</html>
Koden findes også her (igen kan den ikke validere pga. TDC's kode):
http://home20.inet.tele.dk/omo/test/p_afsluttes_ikke.htm
Jacob
| |
Erik Ginnerskov (19-08-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 19-08-05 23:20 |
| | |
Jacob Jensen (20-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 20-08-05 11:06 |
| | |
Knud Gert Ellentoft (20-08-2005)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 20-08-05 13:43 |
|
Jacob Jensen skrev:
>aha
Tjah, allerede den 16.08 fik du at vide, at din doctype var
forkert i
news:p874g1defpv4b8jme3dnekobn2c545ti7t@dtext.news.tele.dk
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
Svar under det du citerer og citer kun det du svarer på - tak.
http://usenet.dk/netikette/citatteknik.html
| |
Jacob Jensen (20-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 20-08-05 14:09 |
|
> Tjah, allerede den 16.08 fik du at vide, at din doctype var
> forkert i
> news:p874g1defpv4b8jme3dnekobn2c545ti7t@dtext.news.tele.dk
ja, jeg ved det :)
Men hvor meget ændrer det egetnligt? Jeg fik ikke en fejl om at min doctype
var forkert af validatoren og den genkendte den som "strict".
Jacob
| |
Knud Gert Ellentoft (20-08-2005)
| Kommentar Fra : Knud Gert Ellentoft |
Dato : 20-08-05 15:57 |
|
Jacob Jensen skrev:
>Men hvor meget ændrer det egetnligt?
Måden browserne viser siden på.
>Jeg fik ikke en fejl om at min doctype
>var forkert af validatoren og den genkendte den som "strict"
Validatorer er dumme, betragt det som hjælp til selvhjælp.
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
Svar under det du citerer og citer kun det du svarer på - tak.
http://usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (19-08-2005)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 19-08-05 20:49 |
|
Jacob Jensen skrev:
> I skriver det er en fejl at angive enhed, men siden valideres
> som html 4.01 strict både med og uden enhed.
Det er mærkeligt. Indholdet i html-parametre bliver tilsyneladende
kun typetjekket (skal være CDATA) - og ikke tjekket for om det er
korrekte værdier.
> Et eksempel er ovenstående. Et andet er følgende (jeg vil mene
> at min <p> tag skal afsluttes):
Der tager du til gengæld fejl. P-elementet har valgfri slutkode (se
evt. definitionen her:
< http://www.w3.org/TR/html401/struct/text.html#edef-P> - det er
O'et 2 tegn efter P der angiver valgfri (Optional) slutkode).
I xhtml er valgfriheden i sagens natur væk - her skal alle
elementer lukkes.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jacob Jensen (19-08-2005)
| Kommentar Fra : Jacob Jensen |
Dato : 19-08-05 23:33 |
|
> Der tager du til gengæld fejl. P-elementet har valgfri slutkode (se
> evt. definitionen her:
> < http://www.w3.org/TR/html401/struct/text.html#edef-P> - det er
> O'et 2 tegn efter P der angiver valgfri (Optional) slutkode).
>
> I xhtml er valgfriheden i sagens natur væk - her skal alle
> elementer lukkes.
Ok, så er det også derfor den validerer <br> uden afslutning (<br />)?
Jacob
| |
Johnny Winther Ronne~ (20-08-2005)
| Kommentar Fra : Johnny Winther Ronne~ |
Dato : 20-08-05 20:23 |
|
In news:<Xns96B7DDFA2C463jcdmfdk@gyrosmod.cybercity.dk>
Jens Gyldenkærne Clausen typed:
> Jacob Jensen skrev:
>
>> I skriver det er en fejl at angive enhed, men siden valideres
>> som html 4.01 strict både med og uden enhed.
>
> Det er mærkeligt. Indholdet i html-parametre bliver tilsyneladende
> kun typetjekket (skal være CDATA) - og ikke tjekket for om det er
> korrekte værdier.
>
Validatoren er blevet opdateret for ca. en uge siden måtte man gerne
sætte bredde på tabel i html men ikke højde, nu fejler begge dele.
Så der vil komme mange spørgsmål om validering i den nærmeste fremtid.
plejer er nemlig død
Med venlig hilsen
Johnny Winther Ronnenberg
--
Internettet er for alle!
http://80.62.61.212/webuseability/index.asp
| |
|
|