/ Forside / Teknologi / Internet / Browser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Browser
#NavnPoint
Klaudi 20366
molokyle 12124
o.v.n. 8114
miritdk 4839
stl_s 3840
refi 3598
dk 2598
arlet 2470
tedd 2383
10  webnoob 2075
DHTML-problemer i Firefox/Mozilla
Fra : Jens Gyldenkærne Cla~


Dato : 24-01-05 14:54

Hej gruppe.

Siden her vises ikke ordentligt i Firefox (og Mozilla):
<http://www.dr.dk/nyheder/Folketingsvalg/article.jhtml?articleID=229515>

Det er den nederste boks der ikke vises, i stedet får man beskeden "Din
browser understøtter ikke DHTML".

Javascriptkonsollen melder følgende:

Error: document.getElementById("toppen") has no properties
Source File:
http://www.dr.dk/nyheder/Folketingsvalg/article.jhtml?articleID=229515
Line: 322

Jeg kan ikke helt se hvorfor Firefox ikke kan vise boksen. Der findes en
div med id="toppen" - men muligvis er problemet at elementet udskrives
med javascript.
Siden fungerer fint i IE og Opera.

Er der nogen der kan se hvorfor Firefox snubler her?

--
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

 
 
Martin Hintzmann And~ (25-01-2005)
Kommentar
Fra : Martin Hintzmann And~


Dato : 25-01-05 09:33

Jens Gyldenkærne Clausen wrote:
>
> Siden her vises ikke ordentligt i Firefox (og Mozilla):
> <http://www.dr.dk/nyheder/Folketingsvalg/article.jhtml?articleID=229515>
>

[snip]

>
> Er der nogen der kan se hvorfor Firefox snubler her?
>

Det er meget simpelt ... Det skyldes at dem der har lavet siden er
inkompetente.

De bruger doucment.write til at udskrive elementet med ID'et "toppen".
Linien efter sætter de eventen onload på document... og samtidig kører
de funktionen choose1();

document.onLoad = choose1();

Sådan sætter man _ikke_ en event. Man sætter eventen til at pege på
funktionens navn. Og så venter man til siden er loadet hvorefter
funktionen bliver kaldt.

Problemet er at browseren skal have lidt tid til at sunde sig efter en
document.write (ligesom innerHTML).
IE og Opera er åbentbart hurtigere i dette tilfælde til at sunde sig end
Firefox.

Men hvis de havde lavet onload eventen rigtigt, ville det have virket i
alle 3 browsere.

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Jens Gyldenkærne Cla~ (25-01-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-01-05 15:55

Martin Hintzmann Andersen skrev:

> Det er meget simpelt ... Det skyldes at dem der har lavet siden er
> inkompetente.

Jeg kunne godt regne ud at den fejlmeddelelse man før ("Din browser
understøtter ikke DHTML") i hvert fald ikke passede

> document.onLoad = choose1();
>
> Sådan sætter man _ikke_ en event. Man sætter eventen til at pege på
> funktionens navn.

Hvordan skal det se ud?

A)    <body onload="choose1();">

B)   document.onload = "choose1()";

C)    document.onload = "choose1";

D) ?

Kan du vise en metode der også vil virke i Firefox? Jeg vil gerne kunne
tilbyde en fungerende version når jeg hiver fat i DR for at beklage mig
over siden. Du er selvfølgelig også velkommen til selv at henvende dig -
jeg har en mailadresse på DR's netafdeling liggende hjemme (den fremgår
desværre ikke af deres kontaktside).

En lille bibemærkning - det er ikke kun DR der har bøvl med websiderne.
TV2's site om politik angiver at have et RSS-feed, og man kan da også
fint få listet de 15 seneste nyheder om politik. Men når man beder om at
få vist et punkt, får man en fejlmeddelelse (403 Forbidden) - se fx
<http://politik.tv2.dk/article.php/?id=1869632&rss>

--
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

Martin Hintzmann And~ (26-01-2005)
Kommentar
Fra : Martin Hintzmann And~


Dato : 26-01-05 06:41

Jens Gyldenkærne Clausen wrote:

>
> Hvordan skal det se ud?
>
> A)    <body onload="choose1();">
>
> B)   document.onload = "choose1()";
>
> C)    document.onload = "choose1";
>
> D) ?

Jeg vil gå efter D)

document.onload = choose1;

Husk på at "choose1" er en global variabel, som bliver sat når
funktionen bliver erklæret enten således
funktion choose1() {}

eller sådan her:
choose1 = funtion() {}

Den sidste giver virkelig indtryk af at det er en variabel... det er
sådan jeg plejer at angive funktioner, men den første er ligeså korrekt.

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste