Utvecklingstips

Varför visar IE9 din webbplats i kompatibilitetsläge?

Kompatibilitetsläge är Microsofts lösning på att vissa webbplatser slutar fungera i nya versioner av Internet Explorer. Man kan helt enkelt få IE9 att bete sig (nästan) som en IE5, IE6, IE7 eller IE8. Det finns en uppsjö med olika villkor som avgör vilket läge IE9 automatiskt ska välja: http://en.wikipedia.org/wiki/Quirks_mode

Normalt sett så ska en webbsida med doctype för HTML5 - <!DOCTYPE html> - göra att IE9 väljer standardläget. Ibland blir det dock inte så. Det finns meta-taggar och response headers som ska tvinga fram standardläget, men ibland funkar inte de heller. Ännu konstigare är att det fungerar lokalt, på testservern blir det däremot fel.

Såhär upptäcker man att sidan renderas i fel läge

1) Öppna IE Developer Tools med F12

2) Två platser visar att allt inte är som det ska:

Browsern har valt kompatibilitetsläge för IE7, och har åstadkommit detta genom att förvandla den korrekta doctypen till en HTML-kommentar.

Varför?

Efter felsökning och testande kommer man på att det står något i konsollen:


Lösning

Gör en eller båda av följande:

  • Ta bort siten ur Intranet Zone (se särskilt upp med wildcards, typ *.iteam.se)
  • Slå av funktionen ’Display intranet sites in Compatibility View’ (inte så lätt man kan tro): 1) Välj att visa toolbaren ”Command bar” i IE (dold som standard). 2) Välj menyvalet ”Page > Compatiblity View settings”. 3) Kryssa ur ruta 2 under sitelistan:



 
Anders Bornholm

2012-04-02 kl. 14:12

Web Analytics