IE: Pourquoi la vue de compatibilité disparaît-elle pour certains sites Web?

25

IE9 affiche le bouton Mode de compatibilité pour certains sites Web, mais pas pour d'autres. Pour les autres, je peux toujours l'activer en l'ajoutant via Outils> Paramètres d'affichage de compatibilité, puis il se comporte comme prévu.

entrez la description de l'image ici

Pourquoi ce bouton n'apparaît-il pas toujours? Y a-t-il un moyen de contourner cela?

tsilb
la source

Réponses:

26

La présence du bouton dépend de ce type de balise META:

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

Modes de compatibilité des documents

Avec les versions récentes d'Internet Explorer, ces modes peuvent contrôler les fonctionnalités prises en charge par les pages Web et les modes d'affichage des pages.

  • IE=EmulateIE8 Le mode indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives du mode standard sont affichées en mode standard d'Internet Explorer 8 et les directives du mode excentrique sont affichées en mode IE5. Contrairement au mode IE8, le mode Emulate IE8 respecte la directive.

  • IE=EmulateIE7indique à Internet Explorer d'utiliser la directive pour déterminer comment rendre le contenu. Les directives du mode standard sont affichées en mode standard d'Internet Explorer 7 et les directives du mode excentrique sont affichées en mode IE5. Contrairement au mode IE7, le mode Emuler IE7 respecte la directive. Pour de nombreux sites Web, il s'agit du mode de compatibilité préféré:

  • IE=5 rend le contenu comme s'il était affiché par le mode excentrique d'Internet Explorer 7, qui est très similaire à la façon dont le contenu était affiché dans Internet Explorer 5.

  • IE=7 rend le contenu comme s'il était affiché par le mode standard d'Internet Explorer 7, que la page contienne ou non une directive.

  • IE=8 prend en charge de nombreuses normes établies, notamment la spécification W3C Cascading Style Sheets Level 2.1 et l'API W3C Selectors; il fournit également un support limité pour la spécification de niveau 3 des feuilles de style en cascade du W3C (document de travail) et d'autres normes émergentes.

  • IE=9 fournit le support le plus élevé disponible pour les normes de l'industrie établies et émergentes, y compris la spécification HTML5 (Working Draft), les feuilles de style en cascade W3C niveau 3 (Working Draft), Scalable Vector Graphics (SVG) 1.0 Specification, etc.

  • IE=Edge indique à Internet Explorer d'afficher le contenu dans le mode le plus élevé disponible. Avec Internet Explorer 8, cela équivaut au mode IE8.

Si une future version (hypothétique) d'Internet Explorer prend en charge un mode de compatibilité plus élevé, les pages définies en mode Edge apparaîtront dans le mode le plus élevé pris en charge par cette version. Ces mêmes pages apparaissent en mode IE8 lorsqu'elles sont affichées avec Internet Explorer 8; et en mode IE9 lorsqu'il est affiché avec Internet Explorer 9.

Sommaire

IE ne présentera pas le bouton Affichage de compatibilité si:

  • le contenu de la balise META est égal à la version d'IE que vous utilisez; ou
  • le contenu de la balise META est défini sur IE=edge.

Référence

Définition de la compatibilité des documents (Internet Explorer)

SgtOJ
la source
2
Pour lequel, cependant, on pourrait s'attendre à ce que les sites Web rendent très bien, en supposant que le créateur du site Web a réfléchi à la balise ...
Arjan
8

En dehors de la <meta>balise comme expliqué dans la réponse de Brian :

Si cela se produit pour les sites locaux (intranet): il semble que les préférences par défaut font toujours fonctionner les sites intranet en mode de compatibilité et, pire encore, n'affiche pas du tout le bouton.

La désactivation du paramètre "Afficher les sites intranet dans la vue de compatibilité" fait également apparaître le bouton pour les sites locaux, vous pouvez donc le désactiver. Méfiez-vous que les paramètres d'affichage de compatibilité ne sont répertoriés que dans le menu "complet" (appuyez sur Alt-T), pas dans l'icône d'engrenage raccourci:

texte alternatif texte alternatif texte alternatif

Sinon, faites en sorte qu'IE ne reconnaisse plus les sites intranet .

Arjan
la source
2
C'est parce que de nombreux sites intranet et applications Web internes ont été programmés pour fonctionner sur IE6. Microsoft savait que la majorité des utilisateurs d'IE6 étaient des employés contraints d'utiliser IE6. Faire fonctionner tous les sites en mode de compatibilité par défaut a rendu la transition plus fluide, mais pas fluide, vers une version mise à jour d'IE. Si de nombreuses entreprises étaient comme [édité], ce serait le cas. Vous devez vous rappeler que le changement coûte de l'argent. Les entreprises ne se soucient que de l'argent. Modifiez le nom de l'entreprise pour les protéger . Cette société n'est même pas passée à une version de mise à jour avant le piratage de Google / Chine.
SgtOJ
@Brian, je suppose que vous avez raison. Dommage cependant: une bien meilleure solution aurait été de l' activer par défaut. Cette stupide préférence IE active non seulement le mode de compatibilité, mais masque également le bouton de compatibilité.
Arjan
Sensationnel. Je n'ai jamais su ça. Ça me rendait folle toute la journée jusqu'à ce que je tombe sur ton poste. Merci!
System Down
Que se passe-t-il si vous ne souhaitez pas le mode de compatibilité, mais que l'option "Afficher les sites intranet dans la vue de compatibilité" est cochée? Cela remplace-t-il la <meta http-equiv="X-UA-Compatible" content="IE=edge">balise? Ou la balise meta remplace-t-elle la case à cocher des paramètres de compatibilité?
Ben
@Ben, cela fait un moment que je n'ai pas dû utiliser IE, mais je pense que l'activation de "Afficher les sites intranet dans la vue de compatibilité" remplacerait en effet <meta http-equiv="X-UA-Compatible" content="IE=edge">. Je ne suis pas sûr à 100%, mais je me souviens avoir été très ennuyé de ne pas comprendre pourquoi les pages n'affichaient mal, donc je ne peux que supposer que ces pages ne comprend alors l'étiquette. Mais alors, peut-être que je ne connaissais pas ce tag ces jours-là ...
Arjan
1

Conformément à cet article MSDN complet sur l' affichage de compatibilité , la liste suivante décrit les différentes façons d'activer l'affichage de compatibilité:

  • Vous cliquez sur le bouton Affichage de compatibilité dans la barre d'adresse lors de l'affichage d'une page Web. Lorsqu'il est affiché, ce bouton apparaît à gauche du bouton Actualiser et contient une image d'un morceau de papier cassé. Cela active la vue de compatibilité pour tous les documents du domaine du site Web consulté.
  • Le paramètre "Afficher tous les sites Web en mode de compatibilité" dans les paramètres d'affichage de compatibilité est activé.
  • Le paramètre "Récupérer automatiquement à partir des erreurs de mise en page avec l'affichage de compatibilité" est activé et une page Web cesse de répondre ou bloque le navigateur. Lorsque cela se produit, Internet Explorer ouvre la page en mode de compatibilité après avoir récupéré du problème.
  • Les stratégies de groupe qui identifient les sites à ouvrir dans la vue de compatibilité sont activées par l'administrateur de votre ordinateur.
  • Vous avez utilisé les outils de développement F12 pour modifier le mode du navigateur afin d'identifier Internet Explorer comme une version antérieure du navigateur.
  • La liste d'affichage de compatibilité est activée, ce qui définit une liste de sites Web qui s'affichent automatiquement dans l'affichage de compatibilité.

Pour désactiver / remplacer la vue de compatibilité, vous devrez faire l'inverse des actions suggérées ci-dessus.

La liste Affichage de compatibilité est un fichier XML géré par Microsoft.

Pour supprimer votre site de la liste d'affichage de compatibilité (ou pour contester la suppression de votre site de la liste), demandez au propriétaire du site global de vérifier que le site de domaine apparaît dans la liste d'affichage de compatibilité. Si tel est le cas, envoyez un e-mail à [email protected] contenant les informations suivantes:

Nom du propriétaire Titre de l'entreprise Nom de l'entreprise Adresse civique Adresse e-mail Numéro de téléphone Adresse du site Web

Microsoft examinera les informations fournies et supprimera votre site de la liste des vues de compatibilité lors de la prochaine mise à jour programmée.

mvark
la source
0

Je viens de passer un certain temps à essayer de déterminer pourquoi l'icône d'affichage de compatibilité n'est pas disponible sur l'un des domaines de mon entreprise, alors qu'elle ne semble remplir aucune des conditions décrites dans les autres réponses à cette question.

L'explication est que "X-UA-Compatible" n'a pas besoin d'être une balise META. Il peut également être spécifié en tant qu'en-tête HTTP (ne faisant pas partie du contenu HTML), et c'est le cas sur le domaine avec lequel j'ai des problèmes.

Cette page MS contient plus de détails, dont beaucoup apparaissent dans la réponse de SgtOJ: http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

Scott Leis
la source