Schlagwort-Archive: Internet Explorer

Internet Explorer und die Kompatibilitätsmodi

Auch wenn Microsoft ihn quasi schon beerdigt hat: Immer wieder stößt man noch auf den Internet Explorer. Gerade in Firmen ist er kaum wegzudenken, denn viele Produkte der Industrie haben es auch 2015 noch nicht geschafft auf ActiveX zu verzichten bzw. halbwegs standardisierte Formate zu verwenden. Besonders tückisch hierbei: Während die neueren Versionen des Internet Explorer immerhin halbwegs mit den aktuellen Webstandards klar kommen sind viele Webanwendungen noch auf ältere Inkarnationen zugeschnitten. Um hier den Nutzern keine Angst vor einer Aktualisierung zu bescheren schaltet der Internet Explorer beim kleinsten Anzeichen für Probleme in einen Kompatibilitätsmodus und behandelt die Inhalte wie frühere Versionen. Auch ist es nicht unüblich, dass alle internen Adressen automatisch immer mit den damaligen Vorgaben behandelt werden.

Wer als Webentwickler für Firmen unterwegs ist sollte hier gegensteuern. Natürlich ist es einfach den jeweiligen Administratoren eine Änderung der Einstellungen oder gar einen anderen Browser zu empfehlen, jedoch ist dies häufig nicht mit Policies vereinbar oder aber wird als Ausnahme gehandhabt. Letztere werden gerne auf Grund der Seltenheit nur schlecht gewartet oder gehen mit der Zeit in den Tiefen des Systemmanagements verloren und sogen dann für aufwändige Fehlersuchspiele.

Wer sich sicher ist, dass seine Seite mit aktuellen IE-Versionen läuft kann jedoch auch ganz ohne Firmenadministrator die meisten Probleme vermeiden. Über einen propritären Meta-Tag lässt sich der IE anweisen eine bestimmte Rendering-Art zu verwenden – unabhängig von der globalen Vorlage.

Um beispielsweise explizit als IE11 zu rendern kann folgender Eintrag im head der Seite ergänzt werden:

Selbes geht natürlich auch für andere Versionen. Eine Sonderstellung bildet noch “edge” – hiermit wird immer die neueste verfügbare Engine genutzt. Perfekt wenn mann möglichst viele aktuelle Funktionen verfügbar machen will. Identifiziert sich dennnoch ein älterer Browser kann man immernoch per Browserweiche o.Ä. einen abgespeckten Content servieren ohne befürchten zu müssen unbeabsichtigt auch neuere IE-Versionen einzuschränken.

Mehr Infos gibt es in einem Technet-Artikel von Stephanus Schulte, welcher das Thema ausführlich erklärt. Wer sich lieber auf die Fakten beschränkt wird im MSDN fündig.

IE11: Intranetseiten werden nicht korrekt dargestellt

Kurzer Hinweis an alle, die neuere Webapplikationen in einem Windows-Intranet nutzen wollen: Je nach Einstellung werden Webseiten mit internen IPs/Hostnames bei Nutzung des IE 11 automatisch in der “Kompatibilitätsansicht” gerendert. Als Beispiel verschluckt sich daran die JS-Komponente des Vorlkszählers und zeigt folgende Meldung:

“Die Eigenschaft “forEach” eines undefinierten oder Nullverweises kann
nicht abgerufen werden.”

Der Fehler scheint in diesem Fall nur mit dem IE11 im Kompatibilitätsmodus aufzutreten, der IE10 rendert trotz der Einstellung korrekt.

Mögliche Auswege:

a) Kompatibilitätsmodus abschalten

Unter Extras->Einstellungen der Kompatibilitätsansicht die Option
“Intranetsites in Kompatibilitätsansicht anzeichen” abschalten

Bild: https://adlerweb.info/blog/wp-content/uploads/2014/05/intranet-241×300.png

Vorsicht: Dies kann ggf. andere intern verwendete Webapps unbrauchbar machen
– ask your Admin…

b) Auf der Webseite explizit IE11-Modus fordern

Hierzu folgendes im Header ergänzen:

Beim Volkszähler wäre der Code in /htdocs/frontend\index.html.

Alternativ gibt es auch passende Doctypes oder HTTP-Header um den IE zur Zusammenarbeit zu bewegen.