Wie man sieht, lächelt euch jetzt oben rechts in der Ecke eine (halbtransparente) Trompete an.
Ein halbtransparentes Bild, das kann ja eigentlich nicht so schwer sein. Ist es auch nicht. Ein bisschen Positionen festlegen, Hintergrundbild einstellen, speichern.
Doch dann sieht das Bild so aus:
(wenn Du nichts Beunruhigendes feststellen kannst, ist dein Browser in Ordnung. Anderenfalls ist er kaputt... daher... weiterlesen ;) )
<!--more-->Sieh da, der Kleinweich Internet-Erkunder hat es seit 1995 (!) nicht geschafft, transparente PNG-Dateien zu unterstützen (und jaa, ich habe die neueste Version.). Dabei ist das PNG-Dateiformat (übrigens OpenSource) nach fast einem Jahrzehnt (bis auf den MSIE) in quasi Webbrowser und in jeder nennenswerten Grafiksoftware voll unterstützt. Seit 1996 ist PNG eine Empfehlung des World Wide Web Consortium (W3C) für die Gestaltung von Webseiten, da es das veraltete GIF-Dateiformat in wohl jeder Disziplin schlägt. Ein Beispiel dafür ist eben die Transparenz, um die es hier geht: In einer GIF-Datei kann ein Pixel entweder ganz transparent oder ganz deckend sein ("binary transparency"). Was aber, wenn ich z.B. ein zu 80% durchscheinendes Bild benötige? Genau, dann nehmen wir eine PNG-Datei wie in meinem Fall.
Eine kurze Zeit lang habe ich ja darüber nachgedacht, die Trompete in der Ecke im MSIE einfach hässlich aussehen zu lassen. Zum einen will den MSIE ja ohnehin niemand mehr benutzen, zum anderen bin ich ja nicht das Kindermädchen für die Programmierfehler anderer.
Trotzdem, weil heute Silvester ist, habe ich mir ein paar Minuten Zeit genommen, vor allem, damit manche meiner Freunde kein hässliches Bild sehen.
Außerdem wollte ich mir den Dialog:
ersparen ;)
- "Dein Bild ist kaputt!"
- Nein, Dein Browser ist kaputt. Meinem Bild geht es prima.
- ???
Eine Lösung habe ich auf dieser Webseite gefunden. Kleinweich bietet nämlich offenbar die Möglichkeit an, so genannte "Filter" zu verwenden. Das ist zugegeben ziemlich lächerlich, weil man keinen Filter "lade transparentes Bild" benötigen würde, wenn die normale Bildanzeige von vorn herein richtig programmiert worden wäre. Zudem versteht diese "Filter"-Methode kein anderer Browser auf diesem Planeten, da sie in keinem irgendwo bekannten Web-Standard erwähnt wird.
Zur Differenzierung zwischen MSIE und dem Rest der Welt lese ich die Variable
"HTTPUSERAGENT"
aus, die normalerweise vom Browser beim Abrufen der Webseite mitgeschickt wird.
Enthält sie "MSIE", dann wird statt dem normalen "background"-Bild ein Filter mit dem eingängigen Namen "DXImageTransform.Microsoft.AlphaImageLoader" verwendet. Und siehe da, sogar der MSIE kann transparente Bilder anzeigen. Er muss sich (wie immer) extra darum bitten lassen, aber das kennen wir ja.