5202

ein Blog über technische Fragen zu Blogger

Blogger: Runde Ecken für den Internet Explorer

von
Tom von thor.78.com hat mich gestern auf verschiedene Darstellungsprobleme meines neuen Layouts im Internet Explorer9 hingewiesen. Ich bin dem nachgegangen und habe dabei ein großes Rätsel lösen können, nämlich warum der IE9 in Blogger-Standard Layouts absolut beschissen [sorry!] rendert. Ich meine, der Internet Explorer ist natürlich kein Browser und so weiter, trotzdem sollte er nicht sooo schlecht sein, wie er in Blogger faktisch ist - ein paar Dinge sollte er zum Beispiel schon können, runde Ecken etwa. Kann er aber in Blogger Standard-Layouts nicht. Warum?

Dokumentkompatibilitätsmodi

Das traurige an Microsoft-Produkten ist, das sie inkompatibel zu sich selber sind. Es gab ein Browser, der Internet-Standards auf seltsame Art & Weise interpretiert hat. Das war der Internet Explorer7. Nachdem der Firefox auf den Markt gekommen ist und die Leute scharenweise vom Internet Explorer (IE) davon gelaufen sind, hat Microsoft reagiert und einen Browser entwickelt, der so halbwegs die Standards standardmässig dargestellt hat. Das war der IE8. Das Problem dabei war, das der IE8 Seiten anders gerendert hat als der IE7. Heute wird das nicht mehr als sooo großes Problem gesehen, vor drei, vier Jahren war es state of the art, das eine Seite in allen Browser gefälligst gleich auszusehen hat. Mit dem IE8 hatten nun viele Seiten - die auf dem IE7 optimiert waren - ein Darstellungsproblem. Die typische Microsoft-Lösung war nun, einen neuen Modus einzuführen, mit dem der IE8 auf die gleiche verquere Weise rendert, wie der IE7 - der Dokumentkompatibilitätsmodus.
Optimierung
Das ganze war natürlich nur als Zwischenlösung gedacht, bis die Seite auf den neusten Stand gebracht wird. Im professionellen Webdesign zahlt aber niemand für optimale Lösungen, sondern für funktionale Lösungen. Wenn eine Seite im 'vorübergehenden' Dokumentkompatibilitätsmodus '7' funktioniert, warum dann für jeden neuen Microsoft-Browser die Seite neu anpassen? Vor allem wenn man im Modus '7' bleiben kann und dort die Seite immer passt? Ich denke ihr versteht das dahinter liegende Problem ...
Blogger
Warum ich das ganze hier erkläre - genau das ist in den Blogger-Layouts passiert. Es gibt am Anfang des HTML's einen Meta-Tag der allen jetzigen und zukünftigen IE's anweist, euren Blog im Dokumentkompatibilitätsmodus '7' darzustellen. Ich benütze gerade als Test den IE10 - der IE7 wurde 2005 vorgestellt. Ein sieben Jahre alter Browser zeigt also euren Blog an, wenn ein Besucher ihn mit dem Internet-Explorer ansteuert. Okay, man könnte sagen 'selber Schuld!' - aber viele Leute wissen einfach nicht, wie beknackt der IE ist. Ich meine, die Leute benützen ein schickes W7 mit dem neuesten IE9 und irgendwie erwartet niemand, dass so ein neuer Browser sich genauso verhält, wie sein sieben Jahre alte Vor-Vorgänger.

X-UA-kompatiblen httpequiv -Header

Mal Butter bei den Fischen, dass ist euer X-UA-kompatiblen httpequiv -Header:
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
Ihr findet ihn ganz am Anfang eures HTML's, unmittelbar unter dem <head> Tag.
Lösung
Wenn ihr euren Blog auch im Internet Explorer halbwegs zeitgemäss dargestellt haben wollt, könnt ihr dieses Meta-Tag umstellen.
Achtung
Aber das geschieht auf eure eigene Gefahr. Ich weiß nicht, ob es nicht doch irgendwelche sachlichen Gründe gibt, warum Blogger unbedingt im Modus '7' betrieben werden muss. So etwas ist nur etwas für experimentierfreudige Charakter!

Ich habe einige Test gemacht und ich bin davon überzeugt, dass ein 'modernerer' Modus keine Probleme macht, aber wissen tu ich das natürlich nicht. Wenn ihr unsicher seid, lasst alles so wie es ist, das funktioniert auf jeden Fall.

Umstellung

Wenn ihr euren Blog in jedem Internet-Explorer im jeweils neuesten Dokumentkompatibilitätsmodi dargestellt wollt, schreibt ihr den Tag so um:
<meta content='IE=edge' http-equiv='X-UA-Compatible'/>
Mit dieser Umstellung arbeitet jeder IE im jeweils neuestem Modus, d.h. der IE9 arbeitet im Modus '9', der IE8 im Modus '8' und so weiter. Mein Layout besitzt etwa diese Deklaration, d.h. runden Ecke sollten nun auch im IE9 zu sehen sein. Ich habe lange nach der Ursache für verschiedene Darstellungsprobleme im IE gesucht, bis ich auf diesen vertrackten Modus gestossen bin. Das war unter anderen auch der Grund, warum ich auf keinen Fall mehr ein 'normales' Blogger-Layout verwenden wollte.

Internet Explorer9 - mein Layout

Falls ihr mein Blog im IE9 anschaut werden euch trotzdem einige Unterschiede zu 'richtige' Browser auffallen. Das ist kein Fehler, sondern darauf zurückzuführen, dass der IE9 technisch einfach zu rückständig ist. Der IE9 versteht [fast] kein CSS3 und einige elegante Lösungen habe ich erst gar nicht versucht im IE nachzubauen. Wozu auf den IE optimieren? Im IE soll mein Layout einigermassen funktionieren, mehr aber auch nicht. Im zukünftigen IE10 sieht mein Layout schon [fast] so aus, wie in normalen Browser. Es gibt also noch Hoffnung ....