Wenn man heutzutage HTML5-Elemente benutzt, regieren die meisten aktuellen Browser darauf einigermaßen vernünftig und erlauben zum Beispiel das Styling dieser Elemente ohne viel Ärger. Der Internet Explorer hingegen fällt (erwartungsgemäß) angesichts von wundersamen Dingen wie z.B. <section>
von Glauben ab und produziert aus diesem HTML …
<section class="alpha">
<h2>Alpha</h2>
<p>
Sektion Alpha
</p>
</section>
…diese wundervolle DOM-Grütze:
<section class="alpha"></section>
<h2>Alpha</h2>
<p>
Sektion Alpha
</p>
</section><//section>
Kein Wunder dass man sowas nicht stylen kann. Dieses Problem lässt sich aber reparieren! Es ist sogar recht einfach, man muss das neue Element nur mit einer Zeile Javascript beim IE anmelden:
document.createElement('section');
Schon gibt es keine Probleme mehr (siehe Testseite). Diese Prozedur kann man mit jedem HTML5-Element durchführen das man braucht, oder direkt zum HTML5 enabling script greifen, das das komplette Programm an HTML5-Elementen für den Internet Explorer aktiviert. Klingt für mich etwas nach Overkill, aber wenn man wirklich viele der neuen Elemente einsetzen möchte … warum nicht?
Kommentare (7)
Michel ¶
8. Januar 2009, 15:56 Uhr
Super, kann ich mich am Wochenende neben Feed-Reader leeren, lernen, CS4 kennenlernen auch noch mit HTML 5 beschäftigen. Danke ;-)
Sascha ¶
9. Januar 2009, 08:07 Uhr
Und ist Javascript im IE deaktiviert produziert er wieder für jedes HTML5-Element wundervolle DOM-Grütze.
Ist das wirklich eine einfache Lösung?
Peter ¶
9. Januar 2009, 10:47 Uhr
Ich kenne keine bessere.
Sascha ¶
9. Januar 2009, 11:14 Uhr
Mir fallen zwei ein:
1. Auf HTML5 (vorerst) verzichten.
2. Den IE konsequent ignorieren. ;-)
Peter ¶
9. Januar 2009, 11:37 Uhr
Ach komm. Variante 1 ist doch was für Feiglinge! Rundum-Support wird es vielleicht in 10 Jahren geben. So lange warten? Und Variante 2 hat was für sich, aber erstens braucht selbst der IE8 diese Starthilfe und zweitens ist das ja nicht wirklich ein Aufwand pro Element eine Zeile JS-Code zu schreiben.
Sascha ¶
9. Januar 2009, 14:13 Uhr
Na, ich weiß nicht. Man darf /muss ja auch die ein oder andere Zeile CSS-Code schreiben um dem IE Manieren lehren.
Jetzt noch ne Extrawurst in Form von JavaScript ... ich finde irgendwann ist mal Schluss - zumindest bei mir.
Dann verzichte ich lieber gleich auf eine "IE-Unterstützung". ;-)
Außerdem bin ich der Ansicht das man JavaScript nur dort einsetzen sollte wo es dem Besucher einen Mehrwert bietet. Nicht um grundlegende Funktionen oder das Design zu beeinflussen - selbst wenn es nur für den IE ist.
datenkind ¶
15. Januar 2009, 18:23 Uhr
Ohne vernünftige Fallback-Lösung (also javascriptfrei) halte ich es leider auch für nicht sehr praxistauglich. Auf privaten Seiten soll’s mir recht sein, da dürfte den IE oder JS-Schisshasen eh keinen interessieren.