Automatisches ersetzen von PNGs
Nach obenWarum dieser Artikel
Da der Internet Explorer < 7 PNGs nicht richtig darstellen kann, soll dieses Script alle Bilder die PNG anzeigen sollen durch einen span ersetzen.
function replacePNGs() {
imgs = document.getElementsByTagName('img');
for(i = 0;i < imgs.length;i++) {
img = imgs[i];
if(img.getAttribute('src', false).match(/\.png$/i) && navigator.userAgent.match(/MSIE\s+(5.5|6.0)/i)) {
newSpan = document.createElement("span");
img.parentNode.insertBefore(newSpan, img);
newSpan.style.width = img.offsetWidth + 'px';
newSpan.style.height = img.offsetHeight + 'px';
newSpan.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.getAttribute('src', false) + "', sizingMethod='crop', enabled=true)";
img.style.display = 'none';
}
}
}
window.onload = replacePNGs;
Nach obenAufbau des Scripts
- Aufruf durch window.onload
- Alle img Tags des Dokuments holen
- Jedes einzelne Bild durchgehen
- Überprüfen ob das Bild ein PNG ist und ob der Browser IE < 7 ist
- Neues Span Element erstellen mit
document.createElement - Dem neu erstellten Span die Breite und die Höhe des Bildes geben
- Dem Span das Bild als Hintergrund setzen (Das funktioniert nur, wenn auf dem Rechner auf dem die Seite angeschaut wird, DirectX installiert ist!)
- Das Span dann noch vor das Bild einfügen und
- Das eigentlich Bild ausblenden
- Fertig!
Alternative
Eine gute Alternative dazu ist: http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
hehe
n1
Matthias
Danke für das Script, ist für mich sehr hilfreich!