Howdy...
ich habe ein Problem mit einem JavaScript Teil, welcher nur bei Firefox auftritt. Der IE scheint damit keine Probleme zu haben.
Ich bitte darum nicht über Sinn, oder Unsinn zu Diskutieren, sondern beim Thema zu bleiben.
Das Problem:
Ich habe ein Hintergrundbild und will dessen Originalgrösse herausfinden. Dazu baue ich mir mittels JavaScript ein <img> Objekt und gebe dem die .src des Hintergrundbildes. Nun könnte ich ja die Grössen des <img>-Objektes auslesen und verwenden. Leider klappt dies nur beim IE!
var reg_imgFile = /\w+\/\w+\.\S\S\S/; // -> skin/middle_left.jpg
var dummy = document.createElement("img");
var string;
if (element.currentStyle)
string = element.currentStyle.backgroundImage;
else
string = getComputedStyle(element,'').getPropertyValue("background-image");
dummy.src = string.match(reg_imgFile);
alert("x:"+dummy.width+" y:"+dummy.height);
Beim Firefox erzeugt die Ausgabe beim ersten Laden der Seite ständig "0". Erst wenn die Seite im Browsercache liegt (hab dies durch Probieren herausgefunden) funktioniert sie einwandfrei und spuckt die Bildergrösse aus.
Um den Fehler einzugrenzen habe ich eine setTimeout() Funktion geschrieben, welche den Ladezustand des Bildes kontinuierlich ausgibt. Das Bild ist demnach nie geladen und ich teste alles Lokal.
Hat jemand eine Idee wie ich den Firefox dazu bringe, dass er das Bild rendert und ich dann seine Grösse auslesen kann?
Vielen Dank...