Contenuto "Compatibile X-UA" = "IE = 9; IE = 8; IE = 7; IE = Edge”


233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. In realtà qual è il significato di questa affermazione?

  2. Alcuni esempi usano ,per separare le versioni di IE, mentre alcuni usano ;; che è corretto?

  3. L'ordine IE=9; IE=8; IE=7; IE=EDGEha una certa importanza, vorrei saperlo.

Modifica : sto usando<!DOCTYPE html>


penso che IE = 9 non adatto perX-UA-Compatible
Krish


Risposte:


328

Se supporti IE, per le versioni di Internet Explorer 8 e successive, questo:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

Forza il rendering del browser come standard di quella particolare versione. Non è supportato per IE7 e versioni precedenti.

Se separato con punto e virgola, imposta i livelli di compatibilità per diverse versioni. Per esempio:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Esegue il rendering di IE7 e IE8 come IE7, ma IE9 come IE9. Consente diversi livelli di compatibilità con le versioni precedenti. Nella vita reale, tuttavia, dovresti scegliere solo una delle opzioni:

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

Ciò consente test e manutenzione molto più semplici. Sebbene in genere la versione più utile di questo sia utilizzare Emulate:

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

Per questo:

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

Forza il rendering del browser a qualunque sia lo standard della versione più recente.

Per ulteriori informazioni, c'è molto da leggere su MSDN ,


9
l'ordine IE = 9; IE = 8; IE = 7; IE = EDGE ha una certa importanza, vorrei saperlo
Kuttan Sujith il

Ho un po 'di lacuna nella mia comprensione di questo. Se il mio obiettivo per i test è IE8, ma non voglio interrompere IE7, a cosa imposteresti questo metatag? E altri browser lo usano?
Snekse,

2
IE7 non lo riconoscerà, è stato implementato prima in IE8. L'intero riferimento a IE7 sopra è se, ad esempio, stavi usando IE7 come base per i test e volessi renderizzare tutte le versioni più moderne di IE come farebbe con gli standard IE7. nessun altro browser utilizza questo tag.
PlantTheIdea,

1
IE10 esegue il rendering delle vecchie app Web con IE = 8 (YMMV), tuttavia l'emulazione IE11 delle interruzioni IE8. Questo UA: content="IE=8; IE=11"fornisce gli standard IE8 di Document Document in modalità browser IE10 in IE10 e la modalità Document edge in IE11. Uno dei problemi con l'assegnazione di IE10 e IE11 UA è che Microsoft ha rimosso i commenti condizionali .
Underverse

Sulla base di quel meta tag, IE11 non avrebbe emulato IE8, avrebbe assunto IE11 (come indicato nell'elenco separato da punti e virgola). Tale elenco spiegherebbe anche il fallback agli standard IE8 perché IE10 non era a conoscenza dell'esistenza di IE11, così come IE8 non poteva applicare gli standard IE9. Hai provato semplicemente ad usare content="IE=8"? O, preferibilmente, content="IE=EmulateIE8"?
PlantTheIdea,

4

In alcuni casi, potrebbe essere necessario limitare la visualizzazione di una pagina Web a una modalità documento supportata da una versione precedente di Internet Explorer. Puoi farlo pubblicando la pagina con un'intestazione compatibile con x-ua. Per ulteriori informazioni, vedere Specifica delle modalità documento legacy.
- https://msdn.microsoft.com/library/cc288325

Pertanto, questo tag viene utilizzato per rendere la pagina Web a prova di futuro , in modo tale che il motore precedente / compatibile venga utilizzato per renderlo nello stesso modo previsto dal creatore.

Assicurati di averlo verificato per funzionare correttamente con la versione di IE specificata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.