67 votes

Pourquoi IE9 s'ouvre-t-il en mode Document alors que les normes IE7 le font ?

Lorsque j'ouvre une page web dans IE9 avec DOCTYPE as

<!DOCTYPE html>

Il ouvre le mode Document selon les normes IE7.

J'ai besoin des normes IE9 par défaut à l'ouverture de la page.

Comment corriger ce problème de mode document ?

Une capture d'écran de l'outil de développement du navigateur IE.

enter image description here

99voto

Radim Köhler Points 26836

Essayez cette réponse : https://stackoverflow.com/a/13524518/1679310 .

En résumé, donnez au navigateur IE plus d'informations dans la balise méta :

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

Note d'édition : Comme Olly Hodgson l'a mentionné, l'option correcte est IE=edge, comme indiqué dans l'extrait ci-dessus. Ci-dessous se trouve la version originale, qui fonctionne également :

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

0 votes

Votre solution fonctionne bien. Comment cela fonctionne-t-il lorsque IE10 comme navigateur ?

2 votes

Juste une remarque, cette méta doit vraiment être la première après le titre. IE9 fonctionne avec IE=100. Je pense qu'IE10 fonctionnera avec IE=100. Mais je n'ai pas encore testé ;(

20 votes

Gah ! Réglez-le sur content="IE=edge" pour s'assurer qu'il utilise toujours la dernière version d'IE !

36voto

Tanzeel Kazi Points 2471

Il peut y avoir plusieurs raisons pour lesquelles le document est analysé sous la norme IE7 :

  1. Le serveur envoie un X-UA-Compatible pour IE7 dans la réponse HTTP du document. Vérifiez les en-têtes de réponse du serveur à l'aide d'un outil tel que Fiddler .
  2. Le document HTML met en place une balise méta avec l'attribut X-UA-Compatible pour IE7.
  3. La page est détectée automatiquement par IE pour être ouverte en "Vue de compatibilité". Notez ici que par défaut, tous les sites intranet sont affichés en "Vue de compatibilité" dans IE. Décochez la case "Afficher les sites intranet en vue de compatibilité" dans la section Tools -> Compatibility view settings dans IE. L'option "Afficher tous les sites Web en vue de compatibilité" doit également être décochée.
  4. Vous avez utilisé les outils du développeur et avez explicitement configuré l'affichage de la page pour qu'elle soit rendue en mode "normes IE7". Notez que cela ne se produira que pour chaque client.

Mise à jour 2016-01-28
Comme l'a souligné @Gordon dans les commentaires ci-dessous, une autre raison peut être que l'administrateur du réseau a défini le site pour la vue de compatibilité en tant que stratégie de groupe sur le réseau.
La seule solution dans ce cas est de contacter l'administrateur réseau pour qu'il supprime le site de la stratégie de groupe. Voir HTML1203 ici .

0 votes

J'ai besoin de forcer IE9 ou plus comme standards, ma page web ne supporte pas IE < 9 car il utilise HTML5.

0 votes

J'ai vérifié les paramètres de l'affichage de compatibilité dans IE, comme je l'ai indiqué. S'agit-il d'un site intranet ? Si la page est en ligne, pouvez-vous en afficher l'URL ?

7 votes

Dang, c'était le numéro 3 pour moi. Merci Tanzeel, je ne savais pas que ce paramètre existait !

7voto

Don Rolling Points 529

Vous pouvez également définir ce paramètre dans le fichier web.config.

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=edge" />
        </customHeaders>
    </httpProtocol>

1 votes

La balise meta est très pointilleuse et le fait de la placer en haut de l'en-tête (ou après le titre) ne fonctionne pas toujours.

3voto

Qpirate Points 1288

Votre page contient-elle la métabalise permettant de forcer IE7 ?

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

cela forcera la page à utiliser la compatibilité IE7.

1voto

Matt Connolly Points 691

Le problème semble être spécifique à la combinaison d'IE9 et du mode de compatibilité. Dans notre cas, nous ne pouvons pas désactiver le mode de compatibilité puisqu'il s'agit d'un site SharePoint 2013 et qu'IE11 doit fonctionner en mode de compatibilité pour modifier les pages, mais IE9 se comportait comme vous le montrez. La définition de la valeur X-UA-Compatible à "IE=edge" dans une balise méta a permis de résoudre notre problème, bien que la définition de la valeur à IE=10 n'ait pas affecté notre comportement. Nous avons également le même doctype.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X