Maison > interface Web > tutoriel HTML > Le mécanisme de sélection du mode DOCTYPE par les navigateurs bien connus_HTML/Xhtml_Web production de pages

Le mécanisme de sélection du mode DOCTYPE par les navigateurs bien connus_HTML/Xhtml_Web production de pages

WBOY
Libérer: 2016-05-16 16:42:40
original
1375 Les gens l'ont consulté

Portée du document

Le changement de mode inclus dans cet article s'applique à Firefox et autres navigateurs basés sur Gecko, Safari, Chrome et autres navigateurs basés sur Webkit, Opera, Konqueror, Internet Explorer pour Mac, Internet Explorer pour Windows et le navigateur IE intégré. Évitez de mentionner le nom du moteur du navigateur et mentionnez plutôt le nom du navigateur le plus connu utilisant ce moteur.

Cet article se concentre sur le mécanisme de sélection de mode plutôt que de documenter le comportement exact de chaque mode.

Mode

Voici les différents modes :

Mode avec type de contenu texte/html

La sélection du mode pour le contenu texte/html dépend du reniflage du doctype (discuté plus loin dans cet article). Dans IE8, le mode dépend également d'autres facteurs. Cependant, par défaut dans IE8, le mode pour les sites non intranet qui ne figurent pas sur la liste noire de Microsoft dépend du type de document.

On ne saurait trop insister sur le fait que le comportement précis des modèles diffère dans chaque navigateur, même s'il est abordé de manière uniforme dans cet article.

Mode Quirks
En mode Quirks, le navigateur viole les formats Web modernes afin d'éviter de « casser » les pages créées sur la base des pratiques populaires à la fin des années 1990. Différents navigateurs implémentent différentes bizarreries. Dans Internet Explorer 6, 7 et 8, le mode bizarreries gèle effectivement IE 5.5. Dans d'autres navigateurs, le mode bizarreries constitue un léger écart par rapport au mode standard.
Si vous créez une nouvelle page Web, vous devez vous conformer aux spécifications pertinentes (notamment CSS2.1) et utiliser le mode standards.
Mode Standards
En mode Standards, le navigateur tente de traiter les documents conformes aux normes comme normativement corrects comme dans le navigateur spécifié.
Différents navigateurs suivent différentes étapes, le mode standards n'est donc pas un objectif unique.
HTML5 appelle ce mode "mode sans bizarreries"
Mode presque standard (mode presque standard)
irefox, Safari, Chrome, Opera (à partir de 7.5) et IE8 également avoir un mode appelé « mode quasi-standard », qui implémente la taille verticale des cellules du tableau selon les méthodes traditionnelles au lieu de suivre strictement les spécifications CSS2. Mac IE5, Windows IE6 et 7, versions antérieures à Opera7.5, et Konqueror n'ont pas besoin du mode quasi-standards car au moins ils ne suivent pas strictement la spécification CSS2 pour implémenter les dimensions verticales des cellules de tableau dans leurs modes standards respectifs. En fait, leur mode standards est plus proche du mode quasi-standards de Mozilla que du mode standards de Mozilla.
HTML5 appelle ce mode "mode bizarreries limitées".
Mode IE7
IE8 a un mode qui gèle principalement une copie du mode standard IE7. Aucun autre navigateur ne propose un mode comme celui-ci, et il n'est pas spécifié par HTML5.

Mode avec type de contenu application/xhtml xml (mode XML)

Dans Firefox, Safari, Chrome et Opera, le type de contenu HTTP application/xhtml xml (pas un méta-élément ni un doctype !) déclenchera le mode XML. En mode XML, le navigateur tente de fournir au document XML un traitement conforme aux spécifications dans la mesure spécifiée dans le navigateur.

IE6, 7 et 8 ne prennent pas en charge application/xhtml xml, ni Mac IE5.

Dans le navigateur Nokia S60 basé sur WebKit, le type de contenu HTTP application/xhtml xml ne peut pas déclencher le mode XML, car l'objectif des jardins clos mobiles est la compatibilité avec le contenu non standard. (Les anciens « navigateurs mobiles » ne peuvent pas utiliser de vrais analyseurs XML car le contenu non canonique est étiqueté comme XML.)

N'ayant pas suffisamment testé Konqueror, je ne peux pas dire exactement ce qui va se passer dans ce navigateur.

Modes non Web

Certains moteurs ont des modes qui n'ont rien à voir avec le contenu Web. Par souci d’exhaustivité, ils sont uniquement mentionnés ici. Opera a un mode WML2.0. WebKit sur Leopard dispose d'un mode spécifique pour les anciens widgets de tableau de bord.

Impact

Voici les principaux impacts de ces schémas :

Mise en page

Le mode texte/html affecte principalement la mise en page CSS. Par exemple, c'est une bizarrerie que les tableaux n'héritent pas des styles. Dans certains modes bizarreries du navigateur, le modèle de boîte devient le modèle de boîte IE5.5. Ce document n'énumère pas toutes les bizarreries de mise en page.

En mode semi-standard (dans les navigateurs disposant de ce mode), seule la hauteur de la cellule du tableau contenant l'image est différente de celle du mode standard.

En mode XML, les sélecteurs ont un comportement différent en fonction de la casse. De plus, les règles spécifiques à l'élément HTML body ne s'appliquent pas aux anciens navigateurs qui n'implémentent pas les dernières modifications CSS 2.1.

Analyse

Il existe également des bizarreries qui affectent l'analyse du HTML et du CSS et peuvent entraîner une analyse incorrecte des pages Web conformes aux normes. La disposition des bizarreries détermine si ces bizarreries sont activées ou non. Quoi qu'il en soit, il est important de comprendre les principales similitudes et différences entre le mode Quirks et le mode Standards dans la mise en page et l'analyse CSS (et non dans l'analyse HTML).

Certaines personnes qualifient à tort le mode standard de « mode d'analyse stricte », ce qui conduit à des malentendus sur la capacité du navigateur à appliquer les règles de syntaxe HTML et sur la capacité du navigateur à évaluer l'exactitude du balisage. Ce n'est pas le cas. Même lorsque la présentation en mode standard est en vigueur, les navigateurs effectuent toujours un travail de correction de la soupe de balises (http://en.wikipedia.org/wiki/Tag_soup). (Avant la sortie de Netscape 6 en 2000, Mozilla disposait de modes d'analyse pour appliquer les règles de syntaxe HTML. Ces modes étaient incompatibles avec le contenu Web existant et ont été abandonnés.)

Une autre idée fausse courante concerne l’analyse XHTML. Il est généralement admis que l’utilisation du doctype XHTML entraîne une analyse différente. En fait, ce n'est pas le cas. Les documents XHTML avec un type de contenu text/html utilisent le même analyseur que les documents HTML. Actuellement, tous les navigateurs se soucient du fait que XHTML avec le type de document text/html n'est qu'une "soupe de balises avec des croûtons" (des barres obliques supplémentaires partout).

Uniquement lorsque des documents utilisant le type de document XML (par exemple : application/xhtml xml ou xmapplication/) déclenchent le mode XML pour l'analyse, l'analyseur à ce stade est complètement différent de l'analyseur HTML.

Script

Bien que le mode Quirks concerne principalement le CSS, il y a aussi un peu de script. Par exemple, dans le mode bizarreries de Firefox, l'attribut HTML id établit une référence d'objet globale au niveau du script, tout comme dans IE. L'impact des scripts dans IE8 mérite plus d'attention que dans les autres navigateurs.

En mode XML, le comportement de certaines API DOM est complètement différent, car le comportement de l'API DOM de XML n'est pas compatible avec le comportement du HTML lorsqu'il est défini.

reniflage de doctype (également appelé conversion de doctype)

Les navigateurs modernes utilisent le reniflage de doctype pour déterminer le mode moteur des documents texte/html. Cela signifie que le choix du mode est basé sur la déclaration du type de document (ou son absence) au début du document HTML. (Cela ne s'applique pas aux documents utilisant le type de document XML.)

La déclaration de type de document (doctype) est une contrefaçon grammaticale de SGML. SGML est un cadre de balisage à l'ancienne, et HTML avant HTML5 a été défini sur cette base. Dans la spécification HTML4.01, la déclaration du type de document décrit les informations de version du HTML. Malgré le nom « Déclaration de type de document » et la spécification HTML 4.01 décrivant les « informations de version », une déclaration de type de document ne classe pas un document SGML ou XML comme un type spécifique de document, même s'il y ressemble (à cause du nom) . (Plus en annexe)

Ni la spécification HTML4.01 ni la norme ISO 8879 (SGML) ne disent quoi que ce soit sur l'utilisation des déclarations de type de document comme conversions en mode moteur. Le reniflage de doctypes est basé sur l'observation qu'au moment où le reniflage de doctypes a été conçu, la grande majorité des documents originaux n'avaient ni déclaration de type de document ni référence à une DTD plus ancienne. HTML5 accepte ce fait et définit le doctype en texte/html comme seul mode de conversion.

Une déclaration de type de document pré-HTML5 typique contient (séparées par des espaces) la chaîne "". La déclaration du type de document est placée avant la balise d'ouverture de l'élément racine du document.

Sélectionnez le type de document

texte/html

Voici un guide simple sur la façon de choisir un doctype lors de la création d'un nouveau document texte/html :

Mode standard, validation de pointe
Si vous souhaitez vérifier tels que , et de nouvelles fonctionnalités comme ARIA, alors c'est la bonne chose à faire. Notez que la définition effective de HTML5 est toujours en train de changer, assurez-vous de tester l'alignement des images dans Firefox, Safari, Chrome, Opera9 ou Opera10. Tester l'alignement de l'image dans Internet Explorer n'est pas suffisant, assurez-vous de toute façon de tester également dans IE8.
Mode Standards, cible de vérification plus stable
Ce doctype déclenchera également le mode standards, et la définition valide HTML4.01 vieille de 10 ans est stable. Assurez-vous de tester l'alignement de l'image dans Firefox, Safari, Chrome, Opera9 ou Opera10. Tester l’alignement des images dans Internet Explorer n’est pas suffisant, assurez-vous de toute façon de tester également dans IE8.
Pour utiliser le mode standards, tout en vérifiant que le balisage ou l'utilisation d'images découpées dans les dispositions de tableau n'est pas recommandé et que vous ne souhaitez pas les corriger.
Il déclenche le mode semi-standards (et l'ancien mode Standards complet de Mozilla). Veuillez noter que les mises en page basées sur des images découpées implémentées à l'aide de tableaux peuvent être cassées si elles sont portées vers HTML5 à l'avenir (et il en va de même pour le mode standards complets).
Utiliser volontairement le mode bizarreries
Pas de doctype.
S’il vous plaît, ne faites pas ça. Concevoir intentionnellement pour le mode bizarrerie vous dérangera, et à l'avenir, vos collègues ou successeurs ne se soucieront même pas de Windows IE6 (plus personne ne se souciera de Netscape 4.x et IE5). Concevoir pour le mode bizarreries est une mauvaise idée. Crois-moi.
Si vous souhaitez toujours prendre en charge Windows IE6, il est préférable de créer un hack spécial en utilisant des commentaires conditionnels plutôt que de faire revenir les autres navigateurs en mode bizarreries.

Je ne recommande aucun doctype XHTML car Le XHTML utilisé comme text/html est considéré comme dangereux . Quoi qu'il en soit, si vous choisissez d'utiliser le doctype XHTML, sachez que les déclarations XML déclencheront le mode bizarreries dans IE6 (mais pas IE7 !).

application/xhtml xml

Une ligne directrice simple pour application/xhtml xml est de ne jamais utiliser doctype. Les pages Web de cette manière ne sont pas « strictement cohérentes » avec XHMTL 1.0, mais cela n'a pas d'importance. (Veuillez consulter l'Annexe au dos)

Complications IE8

A List Apart a introduit une fois qu'en plus du doctype, IE8 utilisera la conversion de mode basée sur les méta-éléments comme l'un des facteurs de sélection de mode. (Voir les commentaires de Ian Hickson, David Baron, David Baron, Robert O'Callahan et Maciej Stachowiak. . )

IE8 dispose de 4 modes : le mode bizarreries IE5.5, le mode normes IE7, le mode quasi-normes IE8 et le mode normes IE8. Le choix du mode dépend des données provenant de plusieurs sources : doctype, méta-éléments, en-têtes HTTP, données de téléchargement périodique de Microsoft, domaine LAN, paramètres définis par l'utilisateur, paramètres définis par l'administrateur LAN et le mode de la trame parent (si any) Compatible avec le bouton d'affichage de la barre d'adresse est déclenché par l'utilisateur. (Pour les autres applications intégrées au moteur, le mode dépend également de l'application intégrée.)

Heureusement, IE8 utilisera généralement le reniflage de doctypes comme les autres navigateurs si :

  • L'auteur n'a pas défini l'en-tête HTTP compatible X-UA
  • L'auteur n'a pas défini la balise méta compatible X-UA
  • Microsoft n'a pas placé le nom de domaine de ce site sur la liste noire
  • L'administrateur du LAN n'a pas placé ce site sur la liste noire
  • L'utilisateur n'a pas appuyé sur le bouton Affichage de compatibilité (ou a été ajouté à une liste noire d'utilisateur spécifique)
  • Ce site n'est pas dans le domaine LAN
  • L'utilisateur n'a pas choisi d'afficher tous les sites dans IE7
  • La page n'est pas intégrée dans la page du mode de compatibilité via le frame

À l'exception des deux cas ci-dessus concernant la compatibilité X-UA, IE8 effectue un reniflage de doctype comme IE7. L'émulation IE7 est appelée vue de compatibilité.

Dans le cas de X-UA-Compatible, IE8 se comporte complètement différemment des autres navigateurs. J'aimerais voir l'Annexe ou l'organigramme aux formats PDF et PNG sur cette page.

Malheureusement, sans l'en-tête HTTP ou la balise méta compatible X-UA, même avec le doctype approprié, IE8 permet aux utilisateurs de rétrograder par inadvertance la page du mode standard d'IE8 au mode IE7, qui est une émulation du mode standard d'IE7. Pire encore, les administrateurs LAN peuvent également le faire. Microsoft peut également mettre sur liste noire tous les noms de domaine que vous utilisez.

Pour gérer ces effets, le doctype ne suffit pas, vous avez besoin d'un en-tête HTTP et d'une balise méta compatibles X-UA.

Ce qui suit est un guide simple sur la façon de sélectionner l'en-tête HTTP ou la balise méta compatible X-UA pour les nouveaux documents texte/html qui ont déjà un doctype qui déclenche le mode standards ou le mode quasi-standards dans d'autres navigateurs :

Votre domaine ne figure pas sur la liste noire de Microsoft et vous êtes plus soucieux de ne pas avoir de nuisances spécifiques au navigateur que de vous assurer que les utilisateurs ne peuvent pas revenir au comportement d'IE7.
Vous n'avez pas besoin d'inclure l'en-tête HTTP ou la balise méta compatible X-UA.
Votre nom de domaine figure sur la liste noire de Microsoft. Étant donné que d'autres auteurs de votre nom de domaine ont endommagé le site ou amené les utilisateurs à activer l'affichage de compatibilité pour l'ensemble du domaine, vous craignez que Google ou Digg utilisent des cadres pour intégrer votre domaine. site ou votre site. Pour vous assurer que les utilisateurs ne peuvent pas utiliser de vues compatibles
Tout d'abord, incluez l'élément méta suivant dans votre page (c'est illégal en HTML5) (avant tout élément de script), ou définissez l'en-tête HTTP suivant : Breaking
dans IE8. Tout d'abord, incluez l'élément méta suivant dans votre page (il est illégal en HTML5)
(avant tout élément de script), ou définissez l'en-tête HTTP suivant :
Liens connexes

Eric Meyer écrit sur les modèles Mac IE5 dans
    Utiliser le bon doctype
  • doctype reniflant pour Mozilla
  • par David Baron Lance Silver discute du reniflage du mode et du doctype dans Windows IE6 dans
  • Améliorations CSS dans IE6
  • conversion de doctype pour Opera9
  • Solution
  • compatible IE8 et X-UA de Faruk Ateş
  • Addendum : Un appel aux implémenteurs XML et aux auteurs de spécifications

Veuillez ne pas intégrer le reniflage de doctypes vers XML.

Le reniflage de Doctype est une approche similaire à celle d'une chaudrée de balises pour résoudre un problème de chaudrée de balises. Le reniflage de Doctype est une heuristique conçue après la publication des spécifications HTML4 et CSS2 qui distingue les documents obsolètes des documents conformes au comportement auquel leurs auteurs auraient pu s'attendre.

De temps en temps, il est suggéré d'utiliser le reniflage de doctypes sur XML pour planifier différents traitements, identifier le vocabulaire utilisé ou activer des fonctionnalités. C'est une mauvaise idée. La planification et l'identification du vocabulaire doivent être basées sur des espaces de noms, tandis que l'activation des fonctionnalités doit être basée sur des instructions ou des éléments de traitement explicites.

L'idée même de la bonne formation est d'introduire une analyse XML sans DTD et de promouvoir une documentation sans doctype. Dans le cas formel où deux documents XML ont la même forme canonique et que l'application les traite différemment (et la différence n'est pas due à un manque de choix pour traiter les entités externes), l'application peut être cassée. En pratique, si deux documents XML provoquent le rapport du même contenu (qnames ignorés) à un gestionnaire de contenu SAX2

et que l'application traite les documents différemment, l'application peut être interrompue. Considérant qu'en tant qu'auteurs Web, vous ne pouvez pas être sûr que tout le monde utilisera un processeur XML qui résoudra les entités supplémentaires pour analyser leurs pages (même si certains navigateurs semblent le faire car ils mappent certains identifiants publics à une DTD définissant une entité tronquée), Insérer Les doctypes en XML pour le Web sont inutiles et conduisent souvent à des habitudes sectaires. (Vous utilisez toujours la fonctionnalité de remplacement de DTD du W3C Validator pour valider une DTD, bien que le W3C Validator dise que le résultat n'est que temporairement valide. Ou mieux encore, vous pouvez détendre NG avec Valider , cela ne pollue pas le document référencé par le schéma. ) Exiger un doctype pour renifler est assez stupide, même si c'est la solution de contournement dans la pratique HTML.

De plus, lorsqu'une spécification de niveau inférieur définit deux choses comme égales, une spécification de niveau supérieur ne doit pas essayer de leur donner des significations différentes. Veuillez considérer . Si vous supprimez l'identifiant public, la même DTD est toujours spécifiée, donc doctype signifie la même chose que le doctype précédent. Faut-il les renifler différemment ? Peut théoriser davantage. Supposons qu'une DTD appelée foobar.dtd soit copiée sur example.com : . Comment renifler ça ? Cela devrait signifier la même chose. Même la DTD entière peut être jointe au document.

En d'autres termes, s'il y a #include "foo.h", vous ne devez lier aucune magie noire au nom foo.h, car cela devrait permettre de copier le contenu de foo.h dans le document ou de copier foo. h into in bar.h et signifie #include "bar.h".

La raison pour laquelle je ne m'inquiète pas du fait que HTML et SGML construisent les mêmes paramètres est que les navigateurs Web n'utilisent pas de véritables analyseurs SGML pour analyser le HTML, donc je ne pense pas qu'il soit utile de prétendre être SGML. Quoi qu’il en soit, si vous n’êtes pas encore convaincu, voici l’article de W Eliot Kimber sur le sujet comp.text.sgml

.

Annexe : Comment gérer certains doctypes en texte/html

Dans le tableau ci-dessous, le mode bizarre, le mode standard et le quasi-standard sont représentés respectivement par Q, S et A. Lorsque le navigateur n'a que deux modes, si la hauteur de ligne de la cellule du tableau est cohérente avec le mode standard de Mozilla, le mode standard est marqué "S". Si la hauteur de ligne de la cellule du tableau est cohérente avec le mode quasi-standard de Mozilla, , alors il est marqué comme « A ».

Veuillez noter que le XHTML servi à l'aide du modèle de contenu XML est rendu en mode XML.

Le but de ce tableau n'est pas de dire que tous les doctypes du tableau sont des choix raisonnables pour les nouvelles pages. Le but de ce tableau est de montrer sur quelles données sont basées mes recommandations.

Les symboles d'abréviation suivants sont utilisés pour les en-têtes de colonnes :

NS6
Mozilla 0.6…0.9.4 et Netscape 6.0…6.2.3
Ancien Moz
Mozilla 0.9.5 à 1.1 alpha et Mozilla 1.0
Moz & Safari & Opera 10 & HTML5
Mozilla 1.0.1, Mozilla 1.1 bêta et supérieur, Firefox à Netscape 7, Safari 0.9 à Safari 4.0 bêta, Opera 10, Chrome, Konqueror 3.5 , comportement spécifié par HTML5
Opera 9.0
Opera 9.0…9.20
IE 8 et Opera 9.5
Aucun mode compatible X-UA et compatible ne remplace la valeur par défaut IE8 ("A" dans ce cas signifie mode semi-standard IE8), Opera 7.5…8.54 et 9.5…9.6
IE 7 & Opera 7.10
IE7, mode de compatibilité et IE8 sans X- Couverture compatible UA ("A" dans ce cas signifie mode IE7) et Opera 7.10…7.23
IE 6 & Opera 7.0
Windows IE 6 et Opera 7.0… 7.03
Mac IE 5
Mac IE 5.0…5.2.3
Konq 3.2
Konqueror 3.2.2…3.3 (peut également inclure 3.1…3.2 .1 ; je suis pas encore sûr)

Doctype NS6 Vieux Moz Moz & Safari & Opera10 & HTML5 Opéra9.0 IE8 et Opera9.5 IE7 et Opera7.10 IE6 et Opera7.0 Mac IE5 Konq3.2
Aucun Q Q Q Q Q Q Q Q Q
">HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> Q Q Q Q Q Q Q Q Q
">HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> S S S S S A A A A
">HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> S S S S S A A Q A
">HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/ html4/strict.dtd">
S S S S S A A A A
">HTML PUBLIC "-//W3C//DTD HTML 4.01//FR"
"http://www.w3.org/TR/html4/strict.dtd">
S S S S S A A A A
">HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> Q Q Q Q Q Q Q Q Q
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Q Q Q Q Q Q Q Q Q
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR /html4/loose.dtd">
S S A A A A A A Q
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR /1999/REC-html401-19991224/loose.dtd">

 

Q S A A A A A A Q
">HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR /html4/loose.dtd">
Q Q Q Q A A A A Q
"> S S S S S A A A A
"> S S S S S A A A A
">html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-strict.dtd"> S S S S S A A A A
">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> S S A A A A A A Q
"> S S S S S A Q A Q
"> S S S S S A Q A Q
">version="1.0" encoding="UTF-8"?> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> S S S S S A Q A Q
">version="1.0" encoding="UTF-8"?> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

S S A A A A Q A Q
">HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN"> Q S S Q Q Q Q Q Q
">HTML PUBLIC "ISO/IEC 15445:2000//DTD HyperText Markup
Langue//EN">
Q S S S S A A A Q
">HTML PUBLIC "ISO/IEC 15445:1999//DTD HTML//EN"> S S S Q Q Q Q Q Q
">HTML PUBLIC "ISO/IEC 15445:1999//DTD HyperText Markup
Langue//EN">
S S S S S A A A Q
Q S S S S A A A  

Histoire

Le code de détection de doctype de Moziila a été considérablement modifié en octobre 2000, septembre 2001 et juin 2002. L'état de la version de Mozilla (et Netscape 6.x) décrite dans ce document peut être consulté sur ftp.mozilla.org à partir du 19/10/2000. Ce document ne couvre pas le fonctionnement du reniflage de doctypes dans Mozilla M18 (et Netscape 6.0 PR3). Le code de détection de doctype de Safari a également été considérablement modifié depuis la première version bêta publique. Ce document ne couvre pas les comportements antérieurs à la version V73 également appelée 0.9.

Le code reniflant doctype avant Konqueror 3.5 semble provenir d'une toute première version de Safari. Konqueror correspond désormais à Safari et son code de détection de doctype provient de Mozilla.

Comme le montre le tableau, le reniflage de doctype d'Opera change régulièrement de similaire à IE à Mozilla, bien que Opera 9.5 et 9.6 soient sur le chemin du retour. Dans le même temps, le comportement de mise en page du mode bizarreries d'Opera est passé de l'émulation du mode bizarrerie d'IE6 au mode bizarrerie de Mozilla.

Annexe : Sélection du mode pour IE8

Démarrer : saisissez « Méta compatible X-UA ? »
Méta compatible X-UA
IE=7 : Utiliser la norme IE7
IE=EmulateIE7 : saisissez « bizarreries ou pas de doctype ? (mode de compatibilité) »
IE=IE8 ou IE=IE7 ou IE=a ou IE=EmulateIE8 ou non ou premier script : saisissez « X-UA- Compatible En-tête HTTP ?"
IE=8 ou IE=Edge ou IE=99 ou IE=9.9 : Entrez le "mode quasi-standards ?"
IE=5 : Utilisez le mode bizarreries (IE5. 5)
)"
IE=IE8 ou IE=IE7 ou IE=a ou IE=EmulateIE8 ou aucun : Entrez "Afficher tous les sites...Préréglé ?"
IE=8 ou IE=Edge ou IE=99 ou IE=9.9 : Entrez le "mode quasi-standards ?"
IE=5 : Utiliser le mode bizarreries (IE5.5)
Quacks mode ou pas de doctype ? (mode de compatibilité)
Oui : Utiliser le mode quirks (IE5.5)
Non : Utiliser le mode standards IE7
Afficher tous les sites... Preset ?
Oui : entrez "mode bizarreries ou pas de doctype ? (mode de compatibilité)"
Non : entrez "Afficher le site LAN... préréglé ?"
Afficher le site LAN. ..configuration prédéfinie ?
Oui : Saisissez « Le site est situé dans le domaine LAN ? »
Non : Saisissez « Le nom de domaine est sur la liste maintenue par Microsoft ? »
Le domaine ? votre nom figure-t-il sur la liste maintenue par Microsoft ?
Oui : entrez « Mode Quirk ou pas de doctype ? (Mode de compatibilité) »
Non : Entrez « Intégré dans le cadre avec la page du mode de compatibilité ?
Page du mode de compatibilité Intégration ? » avec cadre ?
Oui : Allez dans « Mode bizarreries ou pas de doctype ? (mode de compatibilité) »
Non : Allez dans « Bouton de mode de compatibilité enfoncé ? »
Mode de compatibilité enfoncé ?
Oui : entrez "mode bizarreries ou pas de doctype ? (mode de compatibilité)"
Non : entrez "mode bizarreries ou pas de doctype ? (IE8)"
Mode bizarreries ou Pas de doctype ? (IE8)
Oui : entrez "Utiliser le mode bizarreries (IE5.5)"
Non : Entrez le "mode quasi-standards ?" mode?
Oui : utilisez le mode semi-standard IE8
Non : utilisez le mode standard IE8
Ces étapes peuvent être vues sous forme d'organigrammes aux formats
PDF
et
PNG
.

Merci Merci à Simon Pieters, Simon Pieters et Anne van Kesteren de m'avoir aidé à corriger les feuilles de patrons des différentes versions d'Opera et pour leurs commentaires. Merci à Simon Pieters d'avoir créé un autre organigramme IE8.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal