/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Firefox-problem
Fra : Jeppe Høiby


Dato : 31-03-05 15:49

Hej!

Jeg har to problemer med een af mine sider:
<http://test.awake.dk/kontakt.aspx>

På siden tilføjer jeg min mailadresse vha. Javascript. Det bevirker at
min footer får ekstra mapdding/margin (se de øvrige sider). Problemet
eksisterer ikke i IE6, hvad kan det skyldes?

Et andet problem er hvis man klikker på "Send"-knappen uden at indtaste
noget i felterne. Så vil den blå kasse "rage ud over" den hvide kasse.
Det må have noget at gøre med at jeg tilføjer nogle elementer
(fejlbeskederne) vha. Javascript/DOM. Dette problem eksiterer heller
ikke i IE6.

Jeg har på fornemmelsen at jeg på een eller anden måde skal "opdatere"
elementerne på siden med mit Javascript, men hvordan gør man dette?
Altså en form for "refresh" eller "redraw" af siden måske?

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

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


Dato : 01-04-05 11:08

Jeppe Høiby skrev:

> Et andet problem er hvis man klikker på "Send"-knappen uden at indtaste
> noget i felterne. Så vil den blå kasse "rage ud over" den hvide kasse.
> Det må have noget at gøre med at jeg tilføjer nogle elementer
> (fejlbeskederne) vha. Javascript/DOM.

Så vidt jeg kan se er det Firefox' håndtering af floatede bokse der er
skyld i dit problem. Jeg har oplevet noget tilsvarende på en side hvor
der var billeder uden fast højde i et floatet element. Ved første
sideload overskred float-boksen det efterfølgende element (fordi højden
ikke blev beregnet korrekt) - et efterfølgende load bragte visningen på
plads (fordi billederne denne gang kan hentes fra cache).

> Jeg har på fornemmelsen at jeg på een eller anden måde skal "opdatere"
> elementerne på siden med mit Javascript, men hvordan gør man dette?

Jeg vil tro du blot kan sætte en css-egenskab - fx margin: 0; på
#footer p. Hvis jeg gør det med Edit CSS, hopper boksen i hvert fald på
plads igen. Det betyder tilsyneladende ikke noget at værdien ikke ændres
- bare det at man beder Firefox om at bruge en specifik værdi, får den
til at genberegne visningen.

Det er muligt at det også kan løse dit første problem - men min test med
Edit CSS tyder desværre ikke på at det er tilfældet.

Begge de to nævnte problemer er dog i mine øjne i petitesseafdelingen -
jeg ville ikke have de store problemer med at lade dem stå urørt. Men
jeg kan på den anden side godt forstå hvis du gerne vil have selv de små
detaljer på plads. Det er en meget flot side du har lavet.

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

Jeppe Høiby (01-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 01-04-05 14:23

Jens Gyldenkærne Clausen wrote:
> Så vidt jeg kan se er det Firefox' håndtering af floatede bokse der er
> skyld i dit problem. Jeg har oplevet noget tilsvarende på en side hvor
> der var billeder uden fast højde i et floatet element. Ved første
> sideload overskred float-boksen det efterfølgende element (fordi højden
> ikke blev beregnet korrekt) - et efterfølgende load bragte visningen på
> plads (fordi billederne denne gang kan hentes fra cache).

Ja, det tror jeg du har ret i!

>>Jeg har på fornemmelsen at jeg på een eller anden måde skal "opdatere"
>>elementerne på siden med mit Javascript, men hvordan gør man dette?
>
> Jeg vil tro du blot kan sætte en css-egenskab - fx margin: 0; på
> #footer p. Hvis jeg gør det med Edit CSS, hopper boksen i hvert fald på
> plads igen. Det betyder tilsyneladende ikke noget at værdien ikke ændres
> - bare det at man beder Firefox om at bruge en specifik værdi, får den
> til at genberegne visningen.

"Edit CSS", er det FF's Web Developer plugin?

Nu har jeg i hvert fald lige prøvet og ganske rigtigt: Når jeg vælger
"CSS" -> "Edit CSS", så hopper elementet på plads. Det mærkelige er at
jeg ikke ændrer på noget, men det virker som om at stylesheet'et bliver
"genindlæst" når man vælger "Edit CSS"-funktionen. Denne "genindlæsning"
gør at footeren hopper på plads.

Nu har jeg prøvet at gøre sådan:
document.getElementById("footer").getElementsByTagName("p")[0].style.margin="0";

men det ser ikke ud til at have nogen effekt, så måske skal jeg prøve at
foretage denne "genindlæsning" med Javascript?

> Det er muligt at det også kan løse dit første problem - men min test med
> Edit CSS tyder desværre ikke på at det er tilfældet.

Prøv og klik på knappen "Send" og så BAGEFTER vælg "Edit CSS", så hopper
denne boks også på plads lige som før. Jeg tror på den der
"genindlæsning" som ser ud til at gennemtvinge en "opdatering" af alle
elementer på siden. Tror du på det?

Jeg prøver vil lige prøve det af i hvert fald.

> Begge de to nævnte problemer er dog i mine øjne i petitesseafdelingen -
> jeg ville ikke have de store problemer med at lade dem stå urørt. Men
> jeg kan på den anden side godt forstå hvis du gerne vil have selv de små
> detaljer på plads. Det er en meget flot side du har lavet.

Ja, du har ret, det hører til i petitesseafdelingen, men kender du ikke
det at noget kan irritere een voldsomt selv om det måske er et lille
ubetydeligt problem? Jeg er nysgerrig efter at finde en løsning på
problemet, for jeg vil vædde med jeg får brug for det en anden gang.

Tak for rosen, jeg er iøvrigt meget interesseret i feedback, hvis du (og
andre!) har tid og lyst. Jeg har lavet et indlæg i ris+ros-gruppen.

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

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


Dato : 01-04-05 14:37

Jeppe Høiby skrev:

> "Edit CSS", er det FF's Web Developer plugin?

Jep.

> Nu har jeg i hvert fald lige prøvet og ganske rigtigt: Når jeg vælger
> "CSS" -> "Edit CSS", så hopper elementet på plads.

Ja. Men hvis du vælger Edit CSS før du trykker send, kan kommer
fejlvisningen igen. Det er her man så bare kan rette i css-koden for at
få det på plads. Spørgsmålet er så om den genopfriskning der sker er
noget som Edit CSS bevidst fremtvinger, eller om det er noget Firefox
selv udfører når der ændres på noget.


> Nu har jeg prøvet at gøre sådan:
> document.getElementById("footer").getElementsByTagName("p")[0].style.margin="0";

Det ser umiddelbart rigtigt ud. Du kunne evt. prøve at sætte margen
direkte på #footer for at undgå getElementsByTagname - men det bør ikke
gøre nogen forskel. Har du tjekket at ovenstående bliver kørt (prøv fx
at sætte en baggrundsfarve i stedet for margen).

En anden mulig fremgangsmåde er at skjule et element og så vise det igen
- måske fremtvinger det en gentegning.

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

Jeppe Høiby (01-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 01-04-05 15:07

Jens Gyldenkærne Clausen wrote:
> Jeppe Høiby skrev:
>>Nu har jeg i hvert fald lige prøvet og ganske rigtigt: Når jeg vælger
>>"CSS" -> "Edit CSS", så hopper elementet på plads.
>
> Ja. Men hvis du vælger Edit CSS før du trykker send, kan kommer
> fejlvisningen igen. Det er her man så bare kan rette i css-koden for at
> få det på plads. Spørgsmålet er så om den genopfriskning der sker er
> noget som Edit CSS bevidst fremtvinger, eller om det er noget Firefox
> selv udfører når der ændres på noget.

Jeg tror faktisk at Edit CSS bevidst fremtvinger den genopfriskning, for
hvis man blot indsætter et mellem/white space i et hvilken som helst af
de 3 stylesheet, så hopper elementet på plads.

>>Nu har jeg prøvet at gøre sådan:
>>document.getElementById("footer").getElementsByTagName("p")[0].style.margin="0";
>
> Det ser umiddelbart rigtigt ud. Du kunne evt. prøve at sætte margen
> direkte på #footer for at undgå getElementsByTagname - men det bør ikke
> gøre nogen forskel. Har du tjekket at ovenstående bliver kørt (prøv fx
> at sætte en baggrundsfarve i stedet for margen).

Nu har jeg prøvet:

document.getElementById("footer").getElementsByTagName("p")[0].style.margin="0";
document.getElementById("footer").getElementsByTagName("p")[0].style.backgroundColor="#f00";

og baggrundsfarven bliver ganske rigtigt sat, så jeg går ud fra at
margin også bliver sat.

Jeg tror dog det er mit #container element, så skal "pilles ved", for
hvis jeg blot gør dette:

document.getElementById("container").style.margin="0";

så sidder min footer rigtigt! Nu er det hele dog venstrealign'ed, så
hvis jeg gør således:

document.getElementById("container").style.margin="auto";

skulle man tro at problemet væk... Det er det bare ikke, kun hvis jeg
gør sådan:

document.getElementById("container").style.margin="0";
document.getElementById("container").style.margin="auto";

Det giver ikke mening?!

> En anden mulig fremgangsmåde er at skjule et element og så vise det igen
> - måske fremtvinger det en gentegning.

Ja! Det her virker også:

document.getElementById("container").style.display="none";
document.getElementById("container").style.display="block";

Og det virker også når man klikker på "Send"-knappen!

Det er mærkeligt og ikke så "pænt", men det virker. Skal man virkelig
stille sig tilfreds med det...?

Jeg har uploadet en ny version:
<http://test.awake.dk/kontakt.aspx>

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Tidemann (03-04-2005)
Kommentar
Fra : Tidemann


Dato : 03-04-05 11:16


"Jeppe Høiby"skrev

> Ja, du har ret, det hører til i petitesseafdelingen, men kender du ikke
> det at noget kan irritere een voldsomt selv om det måske er et lille
> ubetydeligt problem? Jeg er nysgerrig efter at finde en løsning på
> problemet, for jeg vil vædde med jeg får brug for det en anden gang.

Du har en lille bitte skrivefejl på siden Kompetencer...........

""Her kan du et udvalg af mine kompetencer"""

--
Marianne


Jeppe Høiby (03-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 03-04-05 16:33

Tidemann wrote:
> Du har en lille bitte skrivefejl på siden Kompetencer...........
>
> ""Her kan du et udvalg af mine kompetencer"""

Hej Marianne

Mange tak for det, det er rettet!

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Jens Gyldenkærne Cla~ (02-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-04-05 22:58

Jeppe Høiby skrev:

> skulle man tro at problemet væk... Det er det bare ikke, kun
> hvis jeg gør sådan:
>
> document.getElementById("container").style.margin="0";
> document.getElementById("container").style.margin="auto";

Hvad sker der hvis du i stedet prøver at pille ved padding?
--
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

Jeppe Høiby (03-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 03-04-05 16:37

Jens Gyldenkærne Clausen wrote:
> Hvad sker der hvis du i stedet prøver at pille ved padding?

Hej Jens

Hvis jeg blot gør sådan:
document.getElementById("container").style.padding="0";

så virker det ikke, boksen falder stadig ud over.

Men dette virker:
document.getElementById("container").style.padding="1px";
document.getElementById("container").style.padding="0";

dette virker også:
document.getElementById("container").style.padding="100000%";
document.getElementById("container").style.padding="0";

Dette virker *ikke*:
document.getElementById("container").style.padding="0";
document.getElementById("container").style.padding="0";

Dette heller virker :
document.getElementById("container").style.padding="";
document.getElementById("container").style.padding="0";

Kan man kalde det en bug i FF?

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

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


Dato : 04-04-05 10:52

Jeppe Høiby skrev:

> Kan man kalde det en bug i FF?

Jeg mener ikke at man kan kalde FF's opførsel ved de
javascriptmanipulationer du har angivet for en fejl. Det er vel
fornuftigt nok at browseren ræsonnerer at den ikke behøver at gentegne
siden hvis man med javascript sætter en css-værdi til den værdi den
allerede har.

Derimod kan man vel godt kalde det en fejl at FF ikke gentegner siden
når der tilføjes elementer med javascript (altså hele baggrunden for at
problemet opstår i FF).

Du kan evt. prøve at se om der allerede er oprettet en fejlrapport i
bugzilla.

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

Jeppe Høiby (04-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 04-04-05 12:33

Jens Gyldenkærne Clausen wrote:
> Jeg mener ikke at man kan kalde FF's opførsel ved de
> javascriptmanipulationer du har angivet for en fejl. Det er vel
> fornuftigt nok at browseren ræsonnerer at den ikke behøver at gentegne
> siden hvis man med javascript sætter en css-værdi til den værdi den
> allerede har.

Enig!

> Derimod kan man vel godt kalde det en fejl at FF ikke gentegner siden
> når der tilføjes elementer med javascript (altså hele baggrunden for at
> problemet opstår i FF).

Det var dét jeg mente måske var en bug, men jeg ved ikke om der findes
nogen specifikationer, som siger at dette skal ske.

> Du kan evt. prøve at se om der allerede er oprettet en fejlrapport i
> bugzilla.

Jeg prøver at kigge i bugzilla. I hvert fald skal du have en STOR tak
for at hjulpet med at løse problemet! TAK!

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Jeppe Høiby (06-04-2005)
Kommentar
Fra : Jeppe Høiby


Dato : 06-04-05 13:12

Jeppe Høiby wrote:
> Jeg har på fornemmelsen at jeg på een eller anden måde skal "opdatere"
> elementerne på siden med mit Javascript, men hvordan gør man dette?
> Altså en form for "refresh" eller "redraw" af siden måske?

Jeg har tjekket bugzilla, men kom aldrig længere end til punkt 2 "Check
if you can reproduce the bug in Mozilla (Application Suite)":
http://www.mozilla.org/support/firefox/bugs

Jeg downloadede og installerede seneste "nightly build" af Mozilla, og
her eksisterer problemet *ikke*. Så jf. hvad der står i punkt 2, går jeg
ud fra det rettes i en kommende opdatering til FF?

Jeg kunne ikke rigtig finde en "bug report" der mindede om mit problem.
Jeg kiggede her:
<https://bugzilla.mozilla.org/buglist.cgi?&product=Firefox&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&resolution=WONTFIX&resolution=--->

--
Med venlig hilsen
Jeppe Høiby

We have unmistakable proof that throughout all past time, there has been
a ceaseless devouring of the weak by the strong.

Søg
Reklame
Statistik
Spørgsmål : 177495
Tips : 31968
Nyheder : 719565
Indlæg : 6408489
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste