18 Juni 2006
amazon "no picture" Fix
Workaround für fehlendes Bild von amazon in JavaScript erstellt. Normalerweise würde man ein fehlendes Bild von amazon an einem fehlenden Link erkennen. Stattdessen sendet amazon ein 1px x 1px großes transparentes Bild. Das ist ärgerlich weil man so nicht erkennt, wann man ein Ersatzbild anzeigen kann. Workarounds:
- Firefox - man gibt dem IMG Tag ein Stylesheet, eta "itemimg". Diesem weißt man die folgende EIgenschaften zu:
min-height:50px;
min-width:30px;
background-image:url(/images/nopic.gif);
background-repeat:no-repeat;
Wenn ein Bild da ist, überlagert es das Hintergrundbild, das erscheint, wenn kein Bild da ist, bzw. das leere Bild von amazon kommt. min-height und min-width stellen sicher, dass das IMG Tag auch groß genug ist, auch wen nur ein 1x1 Bild gesendet wird. - Internet Explorer - Leider erkennt der IE (Version 6) inkl. die CSS 2.0 Eigenschaften wie min-height und min-width nicht. Daher musste ich hier einen anderen Weg gehen: es wird also nach jedem Ladevorgang folgender JavaScript Code ausgeführt:
function fix_images()
{
if(document.all) // IE only
{
imgelement=document.getElementsByTagName("img");
for (var i = 0; i < imgelement.length; i++)
{
if(imgelement[i].clientHeight=="1" || imgelement[i].clientHeight=="1px")
{
imgelement[i].style.height=50;
imgelement[i].style.width=30;
}
}
}
}
Der Code durchläufe alle Tags im Browser DOM und prüft, ob Sie 1px Höhe haben. Wenn ja, setzt er die Größe des IMG Tag künstlich auf die Minimalwerte. Dadurch wird dann das Hintergrundbild angezeigt wird. Wichtig: der für Firefox beschriebene Style muss vorher bereits auf das IMG Tag angewandt worden sein.
