Trompete zum Durchschauen

December 31, 2004

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:

  • "Dein Bild ist kaputt!"
  • Nein, Dein Browser ist kaputt. Meinem Bild geht es prima.
  • ???
ersparen ;)

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.

Ich verspreche übrigens nicht, dass ich mir diesen Extra-Aufwand bei jeder Änderung aufs neue mache. Wer mit einem bestimmten Browser surft, muss mit dessen Stärken und Schwächen leben, besonders dann, wenn er Standards ignoriert. - ich kann schließlich auch kein 80 Volt-Gerät in eine 230 V-Steckdose stecken und mich wundern, dass es durchbrennt, nur weil der Besitzer der Steckdose seinen Standard nicht für mich verändert hat lach...

In diesem Sinne... surft gut ins neue Jahr! <!--adsense-->

Was this helpful? Buy me a coffee with Bitcoin! (What is this?)

Updating Adobe Flash Without Restarting Firefox

No reason for a Flash upgrade to shut down your entire browser, even if it claims so.It's 2015, and the love-hate relationship of the Web...… Continue reading

Reddit's Fail-Alien (or "Fail-ien?")

Published on January 15, 2015