Domanda

Mi chiedo come fermi le persone che usano IE 8 di andare alla modalità di compatibilità?

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

Ho trovato questo tag e penso che questo costringa le persone a rimanere in modalità IE-8, ma non sono troppo sicuro e non posso controllare perché ho IE 9.

Se le persone sono in modalità IE 9 li costringo a non entrare nella modalità di compatibilità IE 8 o IE 7?

Ho provato a mettere la riga sopra nel mio codice e sono andato a IE 9 -> Strumenti -> Visualizza compatibilità (grigia)

Ma le "impostazioni della vista compatibilità" non sono state grigiate e sembra che tu possa aggiungere il sito lì.

Quindi non dovrebbe disabilitare?

È stato utile?

Soluzione

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

Dovrebbe forzare la tua pagina a rendering negli standard IE8. L'utente può aggiungere il sito all'elenco di compatibilità ma questo tag avrà la precedenza.

Un modo rapido per verificare sarebbe caricare la pagina e digitare la seguente barra degli indirizzi:

javascript:alert(navigator.userAgent) 

Se vedi IE7 nella stringa, si carica in modalità di compatibilità, altrimenti no.

Altri suggerimenti

Tutto ciò di cui hai bisogno è forzare Disabilitare CM in IE - basta incollare questo codice (in IE9 e sotto CM sarà disabilitato):

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

Fonte: http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html

Questo dovrebbe essere sufficiente per forzare un IE utente per eliminare la modalità di compatibilità in qualsiasi IE versione:

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

Tuttavia, ci sono un paio di avvertimenti di cui si dovrebbe essere a conoscenza:

  • Il meta tag sopra dovrebbe essere incluso come il primo tag sotto <head>. Solo il <title> Il tag può essere posizionato sopra di esso.

Se non lo fai, otterrai un errore IE9 Strumenti di sviluppo: X-UA-Compatible META tag ignored because document mode is already finalized.

  • Se vuoi che questo markup convalida, assicurati di ricordare di chiudere il meta tag con a /> invece di giusto >.

  • Iniziare con IE11, La modalità Edge è la modalità documento preferita. Per supportare/abilitarlo, utilizzare la dichiarazione del tipo di documento HTML5 <!doctype html>.

  • Se è necessario supportare WebFonts IE7, assicurati di usare <!DOCTYPE html>. L'ho testato e ho scoperto che rendering webfonts IE7 è diventato piuttosto inaffidabile quando si usa <!doctype html>.

L'uso di Google Chrome Frame è popolare, ma sfortunatamente verrà lasciato cadere questo mese, gennaio 2014.

<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1">

Informazioni correlate estese qui. La punta su di usarlo come primo meta tag è su una sorgente precedentemente menzionata qui, che è stato aggiornato.

Se stai usando ASP.NET MVC, ho trovato Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1") In un blocco di codice in _layout per funzionare abbastanza bene:

@Code
    Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else

La risposta data da Felixfett ha funzionato per me. Reiterare:

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

L'ho come il primo tag "meta" nel mio codice. Ho aggiunto 10 e 11 in quanto sono le versioni che vengono pubblicate ora per Internet Explorer.

Avrei appena commentato la sua risposta ma non ho una reputazione abbastanza alta ...

Un altro modo per raggiungere questo obiettivo in Apache è inserire le seguenti righe .htaccess Nella cartella root del tuo sito Web (o nei file di configurazione di Apache).

BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE

Questo richiede di avere il mod_headers e mod_setenvif moduli abilitati.

L'intestazione HTTP extra viene inviata solo ai browser IE e nessuno degli altri.

In JSF ho usato:

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
    </f:facet>

    <!-- ... other meta tags ... -->

</h:head>

L'aggiunta di un tag alla tua pagina non controllerà l'interfaccia utente nel pannello di controllo Internet (la finestra di dialogo che appare quando si selezionano gli strumenti -> Opzioni). Se stai guardando la tua homepage che potrebbe essere Google.com, msn.com, su: blank o esempio.com, il pannello di controllo Internet non ha modo di sapere quali potrebbero essere i contenuti della tua pagina e non scaricherà in background.

Dai un'occhiata a Questo documento su MSDN che ha discusso la modalità di compatibilità e come disattivarla per il tuo sito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top