Hi,
Warum gibt es den Image()-Konstruktor überhaupt? Kann das einfach historische Gründe haben, in dem Sinne, dass er eingeführt wurde als das DOM noch keine Bedeutung hatte?
als es sowas wie DOM noch gar nicht gab. Das Image-Objekt hatte sinngemäß den Zweck, Grafiken zu referenzieren, um sie innerhalb der document.images-Collection einsetzen zu können.
Ich würde gerne, um die Dinge einheitlich zu handhaben, auf den Konstruktor verzichten und stattdessen mit »createElement("img")« arbeiten.
Go ahead.
Stichprobenartig habe ich beide Varianten verglichen und kann in der Funktionsweise, insbesondere in bezug auf events, keinen Unterschied feststellen.
Derjenige, der bei solchen Sachen gerne Probleme macht, ist der IE: Wenn es spezielle Methoden für etwas gibt, funktionieren diese gewöhnlich besser (bzw. überhaupt) als die allgemeinen. Per DOM im IE Tabellenzeilen umzusortieren oder <select>-Felder dynamisch zu befüllen ist ... nun ja. Aber was <img>-Elemente betrifft, sind mir keine Probleme bekannt, die von seiner Unfähigkeit, zwischen HTML-Attributen und JavaScript-Eigenschaften zu unterscheiden, abweichen (Stichwort relative kontra absolute URLs).
Getestet habe ich mit FF 2.x und IE 7.x.
Teste in einem aktuellen Firefox und im IE 6. Der IE 7 ist tendenziell eine Dreingabe.
Spricht irgend etwas gegen den Verzicht des Image()-Konstruktors?
"new Image().src = '//example.com/do/statistics';" ist vom Code her kürzer und überschaubarer als die Alternative. Ansonsten: Nö.
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes