Mode navigateur IE8 vs mode document

Quelqu’un peut-il s’il vous plaît expliquer la différence entre le mode navigateur IE8 et le mode document en termes simples?

Je demande ceci parce que nous faisons des tests IE8 ici, et que différentes personnes ont différentes combinaisons de modes, et je veux essayer de comprendre comment cela se produit.

À partir de cet article sur le blog IE8, intitulé Comment IE8 détermine-t-il le mode de document?

  1. Les parameters des outils de développement remplacent tous les modes de document pour les pages affichées dans un onglet.
  2. La balise META X-UA-Compatible, puis l’en-tête remplacent les parameters d’affichage de compatibilité et le type de document, sauf si la valeur X-UA-Compatible est EmulateIE7 ou EmulateIE8.
  3. Les parameters d’affichage de compatibilité de l’utilisateur remplacent la liste d’affichage de compatibilité Microsoft.
  4. Si aucune des règles ci-dessus ne s’applique, le doctype détermine si la page Web est affichée dans les normes IE8, IE8 Almost Standards ou Quirks Mode.

Nous obtenons donc les réponses suivantes à vos questions:

Q. Quelle est la différence entre le mode navigateur et le mode document en termes simples?
A. Le mode navigateur est défini dans les outils du développeur pour émuler différents comportements de version du navigateur IE tandis que le mode document est défini sur la page Web pour indiquer à IE de rendre le site différemment à des fins de compatibilité.

Q. Qu’est-ce qui fait changer le mode de navigation?
A. L’utilisateur change le mode navigateur dans les outils de développement.

Q. Qu’est-ce qui fait changer le mode de document?
A. La balise meta et l’en-tête Doctype et X-UA compatibles définis par le développeur Web.

Q. Si un utilisateur modifie le ou les modes via les outils de développement, la modification est-elle conservée même si la page est actualisée?
A. Le mode Navigateur restra, mais si vous modifiez Doctype et X-UA-Compatible, ils retourneront à ce qui est défini sur la page.

UPDATE: Comme le souligne Adrien Be ci-dessous, IE9 + ajoute la possibilité de changer le mode de document dans les outils de développement via un paramètre qui persistera lors de l’actualisation.

Voir votre réponse dans cette page .

La propriété documentMode renvoie le mode utilisé par le navigateur pour rendre le document en cours.

IE8 peut rendre une page dans différents modes, en fonction de la !DOCTYPE ou de la présence de certains éléments HTML.

Cette propriété renvoie l’une des valeurs suivantes:

 5 - The page is displayed in IE5 mode 7 - The page is displayed in IE7 mode 8 - The page is displayed in IE8 mode 9 - The page is displayed in IE9 mode 

Remarque: Si aucun !DOCTYPE n’est spécifié, IE8 restitue la page en mode IE5!

Diagramme du processus de sélection du mode de document

Mode navigateur : Spécifie l’ agent utilisateur envoyé par le navigateur au serveur Web. Des différences de rendu peuvent survenir si votre code JavaScript ou votre code principal affiche différemment en fonction de la chaîne de l’agent utilisateur. Par exemple, vous pouvez voir du code JavaScript qui vérifie navigator.userAgent . (Mozilla / 5.0 (compatible; MSIE 8.0 …) Cette valeur est également utilisée pour traiter les commentaires conditionnels ([si lte IE 9], [si gt IE 8], etc.). avoir un mode navigateur, il contient une liste déroulante d’agent utilisateur.

Mode Document : Spécifie le moteur de rendu utilisé pour traiter le balisage. C’est généralement là que nous voyons des problèmes de rendu et des incompatibilités de navigateur. L’objective initial (pour le meilleur ou pour le pire) était que les propriétaires de sites Web puissent choisir un mode de document pour leur site via une balise META. Dans IE 11, les outils d’émulation sont moins déroutants.

Test : Si votre objective est d’émuler un ancien navigateur IE8, vous devez modifier le mode navigateur et le mode document. L’émulation n’est pas parfaite, donc une option plus complète consiste à télécharger gratuitement des machines virtuelles de test de Microsoft où vous pouvez tester avec une version “réelle” de IE 8, 9, etc.

Qu’est-ce qui fait que ces valeurs changent?

Le mode navigateur ne changera pas. (Sauf si vous le modifiez dans les outils de développement.) Il est défini avant de faire la demande au serveur Web.

Le mode document peut changer en fonction de la réponse du serveur Web. Il peut être modifié via un en-tête de réponse HTTP compatible X-UA, le type de document, les balises META, les sites Intranet, les problèmes de balisage, etc.

Il y a un petit bouton en haut à gauche, dans les outils de développement d’IE -> émulation (onglet) qui dit “Paramètres d’émulation persistants”

voir ceci :

Persistance des parameters et réinitialisation Une icône de parameters d’émulation persiste est ajoutée à l’outil d’émulation. Elle conservera vos parameters d’émulation actuels jusqu’à ce qu’elle soit désactivée, vous permettant de travailler, fermez le navigateur et conservez vos parameters d’émulation intacts. une icône de réinitialisation des parameters d’émulation, qui réinitialise rapidement l’outil aux valeurs par défaut.