Hvad gør <meta http-equiv="X-UA-Compatible" content="IE=edge">?
Hvad er forskellen, hvis en webside starter med
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
og hvis siden starter med
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Hvis der ikke er nogen forskel, kan jeg vel bare ignorere metaheaderen X-UA-Compatible
, da jeg bare ønsker, at den skal gengives i den mest standardtilstand i alle IE-versioner.
1374
3
Oktober 2015 opdatering
Dette svar blev offentliggjort for flere år siden, og nu bør spørgsmålet egentlig være skal du overhovedet overveje at bruge
X-UA-kompatibel
-tagget på dit websted? med de ændringer, som Microsoft har foretaget i sine browsere (mere om dem nedenfor). Afhængigt af hvilke Microsoft-browsere du understøtter, behøver du måske ikke at fortsætte med at brugeX-UA-Compatible
-tagget. Hvis du har brug for at understøtte IE9 eller IE8, vil jeg anbefale at bruge tagget. Hvis du kun understøtter de nyeste browsere (IE11 og/eller Edge), ville jeg overveje at droppe tagget helt. Hvis du bruger Twitter Bootstrap og har brug for at fjerne valideringsadvarsler, skal dette tag vises i den angivne rækkefølge. Yderligere oplysninger nedenfor:Metatagget
X-UA-Compatible
giver webforfattere mulighed for at vælge, hvilken version af Internet Explorer siden skal gengives som. IE11 har foretaget ændringer i disse tilstande; se IE11-noten nedenfor. [Microsoft Edge][1], den browser, der erstattede IE11, respekterer kun metataggetX-UA-Compatible
under visse omstændigheder. Se Microsoft Edge-noten nedenfor. Ifølge Microsoft skalX-UA-Compatible
-tagget, når du bruger det, placeres så højt som muligt i dit dokumenthead
:Brug
content=
"IE=edge,chrome=1"
Spring andreX-UA-kompatible
-tilstande overIE9-adressebjælken viser ikke [Kompatibilitetsvisningsknappen][MSICON]
og siden viser heller ikke et virvar af menuer, billeder og tekstbokse, der ikke er på plads.
Dette metatag er påkrævet for at aktivere
javascript::JSON.parse()
på IE8(selv når `` er til stede)
Rendering/udførelse af moderne HTML/CSS/JavaScript er mere gyldig (pænere).
Performance
Trident rendering engine skulle køre hurtigere i edge-tilstand.
Anvendelse
I din HTML
IE=edge
betyder, at IE skal bruge den nyeste (edge) version af sin renderingsmotorchrome=1
betyder, at IE skal bruge Chrome rendering engine, hvis den er installeret Og bedre i konfigurationen af din webserver:(se også RiaD's svar))
Apache som foreslået af pixeline
Nginx som foreslået af Stef Pause server {
...
Varnish proxy som foreslået af Lucas Riutzel sub vcl_deliver { if( resp.http.Content-Type ~ "text/html" ) { sæt resp.http.X-UA-Compatible = "IE=edge,chrome=1"; } }
IIS (siden v7)
Microsoft anbefaler Edge mode siden IE11
Som bemærket af Lynda (se kommentarer), anbefaler Compatibility changes in IE11 Edge mode:
Men Microsofts holdning var ikke klar. En anden [MSDN-side anbefalede ikke Edge mode][noEdge]:
Brug dette til at tvinge IE til at skjule den irriterende browserkompatibilitetsknap i adresselinjen: