66 votes

Est-il toujours utile d'utiliser des commentaires HTML sur les blocs de JavaScript ?

Dans le passé, les gens avaient l'habitude d'enrouler des balises de commentaire HTML autour de blocs de JavaScript afin d'empêcher les navigateurs "plus anciens" d'afficher le script. Même Lynx est suffisamment intelligent pour ignorer JavaScript, alors pourquoi certaines personnes continuent-elles à faire cela ? Existe-t-il des raisons valables de nos jours ?

<script type="text/JavaScript">
<!--
//some js code
-->
</script>

Edit : Il y a UNE situation que j'ai rencontrée. Certains éditeurs de code, tels que Dreamweaver, s'embrouillent avec le HTML cité à l'intérieur d'une chaîne JavaScript en "vue de conception" et essaient de l'afficher comme faisant partie de votre page.

73voto

MarkR Points 37178

Non, absolument pas. Tout agent utilisateur, moteur de recherche ou autre chose de nos jours est suffisamment intelligent pour ignorer Javascript s'il ne peut pas l'exécuter.

Il n'y a eu qu'une très brève période où cela a été utile, et c'était vers 1996.

20voto

ConroyP Points 24021

Il n'y a plus de raison de le faire, car les navigateurs qui l'exigeaient ont en grande partie disparu du Web.

En fait, cela peut causer des problèmes involontaires avec les tentatives de certains navigateurs plus anciens d'interpréter la page si elle utilise le XHTML - de développeur.mozilla.org :

  • Mozilla 1.1+/Opera 7

    N'appliquez pas le CSS et n'exécutez pas le JavaScript.

  • Netscape 7.0x/Mozilla 1.0.x

    N'applique pas le CSS mais exécute le JavaScript.

  • Internet Explorer 5.5+.

    Impossible d'afficher le document.

Ce site propose également des liens vers des exemples de plusieurs problèmes mentionné ci-dessus.

14voto

Ionut Staicu Points 6523

Vous devriez cependant utiliser CDATA...

<script type="text/javascript" charset="utf-8">
/* <![CDATA[ */

/* ]]> */
</script>

Parce que si vous avez '<', '>', '&', etc. dans votre code, le code ne sera pas validé :)

11voto

Tim Büthe Points 21527

Bon sang non, personne n'a plus besoin de ça et si c'est le cas, vous avez d'autres problèmes à régler. Quand vous voulez vraiment supporter les navigateurs qui en ont besoin, vous devez faire attention à beaucoup plus de choses. Je ne parle même pas de l'absence de css !

Cependant, le plus gros problème est que les gens s'y prennent mal. En fait, votre exemple est faux, car la ligne

-->

devrait lire

//-->

Deuxièmement, votre attribut "type" indique "text/JavaScript", ce qui est également faux. Il s'agissait de "text/javascript" (tout en minuscules) mais c'est obsolète (voir l Liste IANA ) et maintenant il devrait être "application/javascript" (voir une autre liste IANA . Cependant, Douglas Crockford, le gourou de la JS, a déclaré que vous devriez tout simplement le laisser de côté.

Un autre problème que personne n'a déjà mentionné est celui-ci : Dans les commentaires HTML, "--" n'est pas autorisé, ce qui signifie que vous ne pouvez pas utiliser "x--" pour décrémenter x de un.

1voto

Andrew Hedges Points 11496

Ne pas avoir à utiliser les blocs CDATA est l'une des raisons pour lesquelles je préfère utiliser le HTML 4.01 Strict comme doctype, mais, Staicu, je pensais qu'il utilisait la syntaxe suivante :

<script charset="utf-8">
//<![CDATA[

//]]>
</script>

Peut-être les deux sont-ils équivalents ? Quelqu'un sait-il s'il y a un avantage à l'un par rapport à l'autre ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X