web-dev-qa-db-fra.com

Comment désactiver l'affichage de compatibilité dans IE

Je me demande comment empêcher les personnes qui utilisent IE 8 de passer en mode de compatibilité?).

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

J'ai trouvé cette balise et je pense que cela oblige les gens à rester en mode IE-8 mais je ne suis pas très sûr et je ne peux pas vérifier comme je l'ai IE 9.

Si les gens sont en mode IE 9, je les force à ne pas entrer en IE 8 ou IE 7 Mode de compatibilité??)

J'ai essayé de mettre la ligne ci-dessus dans mon code et suis allé à IE 9 -> Outils -> Affichage de la compatibilité (grisé)

mais "Paramètres d'affichage de compatibilité" n'était pas grisé et il semble que vous puissiez ajouter le site par là.

Cela ne devrait-il pas être désactivé?

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

devrait forcer votre page à rendre dans les normes IE8. L'utilisateur peut ajouter le site à la liste de compatibilité, mais cette balise aura la priorité.

Un moyen rapide de vérifier consiste à charger la page et à taper la barre d’adresse suivante:

javascript:alert(navigator.userAgent) 

Si vous voyez IE7 dans la chaîne, il se charge en mode de compatibilité, sinon, pas.

49

Tout ce dont vous avez besoin est de forcer désactiver C.M. in IE - Il suffit de coller ce code (dans IE9 et les minutes suivantes seront désactivés):

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

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

91
FelixFett

Cela devrait suffire à forcer un utilisateur IE à abandonner le mode de compatibilité dans n’importe quelle version de IE:

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

Cependant, il y a quelques mises en garde dont il faut être conscient:

  • La balise meta ci-dessus doit être incluse en tant que la toute première balise sous <head> _ . Seulement le <title> La balise peut être placée au-dessus de celle-ci.

Si vous ne le faites pas, vous obtiendrez une erreur sur IE9Dev Tools: X-UA-Compatible META tag ignored because document mode is already finalized.

  • Si vous souhaitez que ce balisage soit validé, n'oubliez pas de fermer la balise meta avec un /> au lieu de juste >.

  • Commençant par IE11, Le mode Edge est le mode de document préféré. Pour supporter/activer cela, utilisez la déclaration de type de document HTML5 <!doctype html>.

  • Si vous avez besoin de supporter les webfonts sur IE7, assurez-vous d'utiliser <!DOCTYPE html>. Je l'ai testé et j'ai découvert que le rendu des webfonts sur IE7 _ est devenu assez peu fiable avec <!doctype html>.

L'utilisation de Google Chrome Frame est populaire, mais malheureusement, elle sera abandonnée au cours de ce mois de janvier 2014.

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

Nombreuses informations connexes ici . L'astuce sur son utilisation en tant que première balise méta concerne une source mentionnée précédemment ici , qui a été mise à jour.

68
Wallace Sidhrée

Si vous utilisez ASP.NET MVC, j'ai trouvé que Response.AddHeader("X-UA-Compatible", "IE=Edge,chrome=1") dans un bloc de code dans _Layout fonctionnait plutôt bien:

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

La réponse donnée par FelixFett a fonctionné pour moi. Recommencer:

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

Je l'ai comme première balise 'méta' dans mon code. J'ai ajouté 10 et 11 car il s'agit de versions publiées maintenant pour Internet Explorer.

J'aurais juste commenté sa réponse mais je n'ai pas assez de réputation ...

5
astburyj

Une autre façon de réaliser cela dans Apache est de mettre les lignes suivantes dans .htaccess dans le dossier racine de votre site Web (ou dans les fichiers de configuration d'Apache).

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

Cela nécessite que vous ayez le mod_headers et mod_setenvif modules activés.

L'en-tête HTTP supplémentaire est uniquement envoyé aux navigateurs IE) et à aucun autre.

2
Simon East

En JSF j'ai utilisé:

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

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

</h:head>
1
miso

L'ajout d'une balise à votre page ne contrôlera pas l'interface utilisateur dans le panneau de configuration Internet (la boîte de dialogue qui apparaît lorsque vous sélectionnez Outils -> Options). Si vous consultez votre page d'accueil (google.com, msn.com, about: blank ou example.com), le panneau de configuration Internet n'a aucun moyen de savoir quel est le contenu de votre page et ne sera pas téléchargé. en arrière plan.

Jetez un oeil à ce document sur MSDN qui ont discuté du mode de compatibilité et de la façon de le désactiver pour votre site.

0
i_am_jorf