Ongewenst gebruik IE compatibility mode

14-11-2011 | Marcel van Langen | ColdFusion | internet, explorer, microsoft, browser

Internet Explorer (kortweg IE) is helemaal niet zo'n slechte browser als sommige techneuten je willen doen geloven. Wat wel een groot probleem is, is dat verschillende versie van IE zeer verschillend omgaan met de presentatie van gegevens. Om dit te vermijden kun je compatibility mode gebruiken. Maar wat als dit automatisch gebeurt, en je dat nou juist niet wilt?

Door deze verschillen waren ontwikkelaars genoodzaakt om trucs toe te passen. Een van die trucs was het gebruik van een metatag. Deze metatag instrueerde de IE browser om de gegevens een eerdere - wel compatibele - mode te gebruiken. Onderstaande metatag gaf bijvoorbeeld de instructie om de IE7 compatibility modus te gebruiken, ook als het een IE9 of IE8 browser betreft.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Let op: neem dit zo hoog mogelijk op in het HEAD gedeelte van je code, maar in ieder geval voordat allerhande Javascript en CSS wordt opgenomen.

Overigens kan hetzelfde worden bereikt met een HTTP header, in te stellen in bijvoorbeeld IIS. Zeker voor bedrijfstoepassingen wilde dit nog wel eens een oplossing zijn. Er werden bijvoorbeeld componenten van externe partijen ingezet voor specifieke functionaliteit, die alleen beschikbaar was binnen een eerdere versie van IE. Door bovenstaande tag kunnen browsers bedrijfsbreed worden ge-upgrade naar een nieuwere versie van IE, zonder dat dit een effect had op de bedrijfstoepassingen.

Deze compatibility view kan een oplossing zijn, maar ook een probleem. Want het kan voorkomen dat de IE browser uit zichzelf besluit om een eerdere compatibility modus te gebruiken. Dus zonder dat jij als ontwikkelaar daartoe opdracht hebt gegeven. Dit kan bijvoorbeeld zijn omdat IE problemen ondervond bij het presenteren van de informatie, onder andere doordat om wat voor reden dan ook de HTML code niet compleet is ontvangen. Dit vormt een probleem, zeker omdat IE dergelijke instellingen onthoudt voor toekomstige aanvragen voor dezelfde website.

Tijd dus om IE juist te instrueren om de compatibility modus NIET te gebruiken. Gelukkig is hiervoor ook een oplossing, wederom in de vorm van een metatag:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

Ook hiervoor is overigens een HTTP header beschikbaar (X-UA-Compatible: IE=Edge). Hiermee instrueren we IE juist om altijd de meest recente modus te gebruiken en met andere woorden nooit compatibility modus te gebruiken. Een prima oplossing dus, met dien verstande dat je hiermee wel zeker moet weten dat je code werkt in de nieuwste versies van IE. Maar daar ga ik van uit!

Over Morloff

Morloff ontwerpt en realiseert succesvolle webtoepassingen op het gebied van procesoptimalisatie, eCommerce en rapportage door de inzet van moderne webtechnieken, sociale media en zoekmachine optimalisatie.

over ons | diensten | portfolio | contact | route

naar website IJsmonster.nl naar website ICT intermediairs naar website marcelvanlangen.com

Twitter

Morloff

Cuneraweg 169a
3911 RH Rhenen

M +31 (0)6 - 515 96 189
W www.morloff.nl
E contactformulier

Morloff op Twitter Morloff op Facebook Morloff op LinkedIn Morloff via RSS