Achim: CSS (Javascript) - Max width von Remote Bildern im IE6

Hallo !

ich habe User, die in einem Gästebuch Bild-Urls posten dürfen. Das Bild wird in ein img-Tag umgewandelt.

Da User nun auch übergrosse Bilder posten könnten, verkleinere ich die Bilder mittels CSS (max-width, max-height) was bisher auch in allen Browsern ausser dem IE6 funktionierte.

Ich fand einen Workaround:

  
img.inputlink {  
 width: expression(this.width > 200? "200px" : "auto");  
}  

Allerdings zieht der IE damit 100% CPU und stürzt ab. Wenn man etwas beispielsweise in Abhängigkeit von der verfügbaren Seitenbreite skaliert (macht hier keinen Sinn) geht es wunderbar.

  
   width: expression( document.body.clientWidth > 776 ? "777px" : "auto" );  

Naja ... hat jemand noch einen anderen Tipp oder Ansatz für mich ?

Ich habe mir PHP/getimagesize angeschaut. Aber das hat 2 Nachteile ... mit manipulierten Bildern macht man seinen Server angreifbar und bevor die Breite, Länge ermittelt werden kann muss der Server das Bild komplett herunterladen. Kann für DOS Attacken genutzt werden.

Viele Grüße
Bernard

  1. @@Achim:

    Allerdings zieht der IE damit 100% CPU und stürzt ab. […]
    Naja ... hat jemand noch einen anderen Tipp oder Ansatz für mich ?

    CSS-Expression nur einmal auswerten. Und als letztes im Stylesheet notieren, sonst kacken Webkits ab.

    Live long and prosper,
    Gunnar

    --
    Das einzige Mittel, den Irrtum zu vermeiden, ist die Unwissenheit. (Jean-Jacques Rousseau)
    1. Danke, super Tipp ! Trotzdem hasse ich den IE