web-dev-qa-db-fra.com

Mode navigateur IE8 vs mode document

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

  • Qu'est-ce qui provoque le changement de mode du navigateur?
  • Qu'est-ce qui fait changer le mode de document?

  • Si un utilisateur change de mode (s) via des outils de développement, la modification est-elle conservée même si la page est actualisée?

Je pose cette question parce que nous effectuons des tests IE8 ici, et que différentes personnes ont différentes combinaisons de modes, et je veux essayer de comprendre comment cela se passe.

72
mkoryak

De cet article sur le blog IE8, intitulé Comment IE8 détermine le mode Document

  1. Les paramètres des outils de développement remplacent tous les modes de document pour les pages affichées dans un onglet.
  2. La balise méta compatible X-UA, puis l'en-tête remplacent les paramètres d'affichage de compatibilité et le doctype sauf si la valeur compatible X-UA est EmulateIE7 ou EmulateIE8.
  3. Les paramètres 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 type de document détermine si la page Web s'affiche en mode Normes IE8, IE8 Presque Normes ou Quirks.

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 de développement pour émuler différents comportements de version de navigateur IE, tandis que le mode document est défini sur la page Web pour indiquer à IE de rendre le site différemment pour. fins de compatibilité.

Q. _ ​​Qu'est-ce qui provoque le changement de mode du navigateur?
A. L'utilisateur change le mode du navigateur dans les outils de développement.

Q. _ ​​Qu'est-ce qui provoque le changement de mode de document?
A. Doctype et balise méta et en-tête compatibles X-UA définis par le développeur Web.

Q. _ ​​Si un utilisateur modifie le ou les modes via des outils de développement, la modification est-elle conservée même si la page est actualisée?
A. Le mode navigateur restera en place, mais si vous modifiez le type de document et la compatibilité X-UA, ils reviendront à ce qui est défini sur la page.

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

69

Voir votre réponse dans cette page .

La propriété documentMode renvoie le mode utilisé par le navigateur pour restituer le document actuel.

IE8 peut rendre une page dans différents modes, en fonction du !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 affiche la page en mode IE5!

 Diagram of the document mode selection process

16

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 back-end est restitué différemment en fonction de la chaîne de l'agent utilisateur. Par exemple, vous pouvez voir que JavaScript vérifie navigator.userAgent. (Mozilla/5.0 (compatible; MSIE 8.0 ...). Cette valeur est également utilisée pour traiter commentaires conditionnels } _ ([if lte IE 9], [if gt IE 8 ], etc.) L’outil d’émulation de IE 11 n’a pas de mode navigateur, mais 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 rencontrons des problèmes de rendu et des incompatibilités de navigateur. L'objectif 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 méta. Dans IE 11, les outils d’émulation sont moins déroutants.

Test: Si votre objectif est d'émuler un ancien navigateur IE8, vous devez changer le mode de navigation et le mode document L'émulation n'étant pas parfaite, une option plus complète consiste à télécharger des machines virtuelles de test gratuites de Microsoft où vous pouvez tester avec une * vraie "version de IE 8, 9, etc.

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

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

Le mode de 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 méta, les sites Intranet, les problèmes de marquage, etc.

2
James Lawruk

Il y a un petit bouton en haut à gauche, dans IE outils de développement -> émulation (onglet) qui indique "Paramètres de l'émulation persistants".

voir this :

"Persistance et réinitialisation des paramètres Une icône de paramètres d'émulation persistante est ajoutée à l'outil d'émulation. Elle permet de conserver vos paramètres d'émulation actuels jusqu'à ce qu'ils soient spécifiquement désactivés, ce qui vous permet de travailler, de fermer le navigateur et de revenir avec vos paramètres d'émulation intacts À sa droite se trouve une icône de paramètres de réinitialisation d'émulation, qui réinitialise rapidement l'outil aux valeurs par défaut. "

0
mishal153