Analyse

Internet Explorer 10 et les applications du Windows Store en JavaScript prennent entièrement en charge l’algorithme d’analyse HTML5, poursuivant l’effort entrepris dans les versions précédentes pour que HTML fonctionne de façon similaire dans tous les navigateurs.Cet effort a porté sur la prise en charge de SVG (Scalable Vector Graphics) dans HTML, les éléments sémantiques HTML5, la conservation des éléments inconnus et l’amélioration de la gestion des espaces.

Règles d’analyse HTML5

L’équipe Windows Internet Explorer a concentré ces efforts sur l’analyseur HTML afin qu’il fonctionne de la même manière sur n’importe quel navigateur moderne. Cela est possible, car HTML5 est la première version de HTML à définir entièrement des règles d’analyse HTML prenant en compte le moindre cas particulier et la moindre condition d’erreur. Même si votre balisage est incorrect, HTML5 définit quand même la manière de l’analyser et Internet Explorer 10 suit ces règles. Les exemples d’analyse suivants montrent comment certains problèmes sont résolus grâce à ces améliorations.

HTMLDOM (Document Object Model) (HTML5 + Internet Explorer 10)DOM (Windows Internet Explorer 9)

<b>1<i>2</b>

|- <b>

|- "1"

|- <i>

|- "2"

|- <b>

|- "1"

|- <i>

|- "2"

|- <i>

<p>Test 1

<object>

<p>Test 2

</object>

|- <p>

|- "Test 1\n"

|- <object>

|- "\n "

|- <p>

|- "Test 2\n"

|- <p>

|- "Test 1\n"

|- <object>

|- "\n "

|- <p>

|- "Test 2\n"

 

innerHTML interopérable

Ces améliorations s’appliquent également à innerHTML. Les modèles de code comme le suivant fonctionnent désormais comme vous l’attendez dans Internet Explorer 10.


var select = document.createElement("select");
select.innerHTML = "<option>one</option><option>two</option>";
var table = document.createElement("table");
table.innerHTML = "<tr><td>one</td><td>two</td></tr>";


Meilleurs signalisation des erreurs pour les développeurs

HTML5 assure une analyse sans erreur du balisage mais les développeurs doivent quand même écrire un balisage valide au préalable. En écrivant un balisage valide votre site fonctionnera comme vous le souhaitez et sera plus compatible avec des navigateurs anciens.

Pour aider les développeurs à écrire un balisage valide sans erreur, Internet Explorer 10 signale désormais les erreurs d’analyse HTML à l’aide des outils de développement F12 comme le montre la capture d’écran suivante.

Image des outils de développement F12 affichant une erreur indiquant que des balises se chevauchent.

Remarque  Les outils de développement F12 ne sont pas disponibles dans les applications du Windows Store en JavaScript.

Fonctionnalités anciennes supprimées

Étant donné que certaines fonctionnalités dans les versions antérieures d’Internet Explorer ne sont pas compatibles avec l’analyse HTML5, elles ont été supprimées du mode IE10 dans Internet Explorer 10. Les sites qui ont recours à ces fonctionnalités dans cette section continueront à fonctionner en mode de compatibilité avec les anciennes fonctionnalités. De cette manière, un site qui fonctionne aujourd’hui continuera de fonctionner avec Internet Explorer 10 même si les développeurs du site ne disposent ni du temps ni des ressources pour le mettre à jour. (Pour plus d’informations sur les modes de compatibilité, voir Définition de la compatibilité des documents sur MSDN.)

Commentaires conditionnels

Vous pouvez quand même utiliser les commentaires conditionnels tels que celui indiqué ici, mais ils cibleront uniquement les anciennes versions d’Internet Explorer. Si vous devez cibler des navigateurs plus récents, utilisez alors la détection des fonctionnalités.


<!--[if IE]>
This content is ignored in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, this renders as part of the page.
<![endif]-->


Comportements d’éléments

Les comportements d’éléments, introduits dans Microsoft Internet Explorer 5.5 et montrés ici, ne sont plus reconnus dans Internet Explorer 10 en mode IE10.


<html xmlns:my>
<?import namespace="my" implementation="my.htc">
<my:element>
This parses as an unknown element in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, this markup binds to "my.htc".
</my:element>
</html>


Îlots de données XML

Les îlots de données XML, introduits dans Microsoft Internet Explorer 5 et montrés ici, ne sont plus analysés en tant que données XML dans Internet Explorer 10 en mode IE10.


<xml>
This parses as <b>HTML</b> in Internet Explorer 10 and other browsers.
In older versions of Internet Explorer, it parses as XML.
</xml>


Billets IEBlog

Analyse HTML5 dans IE10
Analyse HTML interopérable dans IE9

Spécification

HTML5: Section 8.2

 

 

Afficher:
© 2014 Microsoft