Avatar billede cronick Nybegynder
04. januar 2008 - 04:21 Der er 12 kommentarer og
1 løsning

firefox reagerer ikke på onload

Hey!

Her kommer lige javascripet, som der er problemer med:

------------------------------------------------------
var wRef = '', wLoc = '', hTitle = '', sWidth = 0, sHeight = 0, sColor = 0;

function retStats(webId, webInfo)
{

  wRef    = top.document.referrer != null ? top.document.referrer : document.referrer;
  wRef    = wRef.replace("/&/gi", "%10");
  wRef    = wRef.replace("/=/gi", "%11");

  wLoc    = document.location;
  hTitle  = document.title;
  sWidth  = screen.width;
  sHeight = screen.height;
  navigator.appName    != "Netscape" ? sColor = screen.colorDepth    : sColor = screen.pixelDepth;

    var profit = document.createElement("image");
    with(profit) {
    setAttribute("src", "www.webhotel.dk/?webId="+webId+"&wRef=" + escape(wRef) + "&wLoc=" + escape(wLoc) + "&hTitle=" + escape(hTitle) + "&sWidth=" + sWidth + "&sHeight=" + sHeight + "&sColor=" + sColor);
    setAttribute("width",  0);
    setAttribute("height", 0);
    setAttribute("border", 0);
    }

    profit.onload = function() { alert("This is working!"); }

}
------------------------------------------------------

- Dette virker fint i internet explorer men ikke i firefox. Det er naturligvis ikke mening, at der skal være en alert ved onload af "profit", men det er bare for at teste om den overhovedet vil loade onload, hvilket den i firefox ikke vil.

Kan I se nogen fejl / årsager til problemet?

- På forhånd tak!
Avatar billede mahler Nybegynder
04. januar 2008 - 07:22 #1
Har du checket om der er javascript-fejlen på siden (andre steder)?
Avatar billede fennec Nybegynder
04. januar 2008 - 08:13 #2
Kan du smide et link til siden så vi selv kan teste?? Der kan som mahler påpeger være andre JS fejl, som forhindre din kode i at fungere. Og det er nemmere at hjælpe nå vi kan se hele din kode...
Avatar billede barklund Nybegynder
04. januar 2008 - 11:04 #3
Hm, du sætter window.onload inden i en funktion - men kalder du den funktion inden onload? Din formattering er lidt uoverskueligt ved første øjekast, men dine brackets ser vist balancerede ud trods alt.
Avatar billede olebole Juniormester
04. januar 2008 - 11:05 #4
<ole>

Måske, det kunne tænkes, at Firefox er begyndt at overholde standarden og derfor ikke accepterer onload-handler'en på billedet. Et img-element bør i følge standarden ikke udløse en onload-event

/mvh
</bole>
Avatar billede barklund Nybegynder
04. januar 2008 - 11:08 #5
Hov, det er jo ikke window.onload men image. Altså burde det som udgangspunkt være korrekt nok. Og jeg kan ikke se nogle andre oplagte fejl.
Avatar billede barklund Nybegynder
04. januar 2008 - 11:10 #6
Oh nej, det er jo korrekt hvad olebole siger. Du skal ikke loade billedet ind via et img-dom-element, men via Image-klassen, hvis du vil have en onload på den. Så kan du når onload kommer indsætte samme billede på et img-dom-element via src-attributten og satse på, at caching forårsager billedet til at blive vist med det samme. :)
Avatar billede cronick Nybegynder
04. januar 2008 - 11:22 #7
Okey - tak for de mange svar :)

Der kommer ikke andet javascript ind og forstyrer ovenstående script, idet jeg har lavet det i selvstående dokument, uden ændringer.

Barklund - vil du ikke være så venlig at komme med et eksempel? :)
Avatar billede barklund Nybegynder
04. januar 2008 - 11:40 #8
Du skal jo slet ikke bruge billedet til noget, er det korrekt forstået? Altså, du skal ikke vise det? Så kan du hente det med et image-objekt, men kan du ikke bare bruge rigtig ajax og lave en xmlhttprequest?

Lavet med et Image-objekt er det dog:

var src = "www.webhotel.dk/?webId="+webId+"&wRef=" + escape(wRef) + "&wLoc=" + escape(wLoc) + "&hTitle=" + escape(hTitle) + "&sWidth=" + sWidth + "&sHeight=" + sHeight + "&sColor=" + sColor;
var img_loader = new Image();
img_loader.src = src;
img_loader.onload = function() {
  alert("tada.wav");
}

Deromkring :)

--
Morten Barklund
Avatar billede cronick Nybegynder
04. januar 2008 - 13:06 #9
Det virker pefekt barklund - mange tak.. Både dig og olebole er velkommen til at "lægge" et svar.. ;)
Avatar billede barklund Nybegynder
04. januar 2008 - 13:12 #10
Mokay :)
Avatar billede olebole Juniormester
04. januar 2008 - 13:36 #11
Ellers tak, men det må være barklunds  ;o)
Avatar billede cronick Nybegynder
04. januar 2008 - 14:29 #12
Fint nok - men tak for hjælpen så.. ;)
Avatar billede barklund Nybegynder
04. januar 2008 - 15:51 #13
Tanks :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester