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

Dans le passé, les gens avaient l'habitude d'envelopper des tags de commentaires HTML autour des blocs de JavaScript afin d'empêcher les navigateurs "anciens" d'afficher le script. Même Lynx est assez intelligent pour ignorer JavaScript, alors pourquoi certaines personnes continuent-elles à faire cela? Y a-t-il des raisons valables ces jours-ci?

<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, se confondent par un HTML cité dans une chaîne JavaScript en mode "design view" et essayez de l'afficher comme partie de votre page.

Non, absolument pas. Tout agent de l'utilisateur, l'araignée du moteur de recherche, ou absolument autre chose ces jours-ci est assez intelligent pour ignorer Javascript s'il ne peut l'exécuter.

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

Il n'y a pas de bonnes raisons de le faire, car les navigateurs qui ont exigé cela ont disparu du Web.

En fait, cela peut provoquer des problèmes involontaires avec les tentatives de certains anciens navigateurs d'interpréter la page si elle utilise XHTML – depuis developer.mozilla.org :

  • Mozilla 1.1 + / Opera 7

    N'appliquez pas CSS ou exécutez JavaScript.

  • Netscape 7.0x / Mozilla 1.0.x

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

  • Internet Explorer 5.5+

    Impossible d'afficher le document.

Ce site renvoie également à des exemples de plusieurs problèmes mentionnés ci-dessus.

Vous devriez utiliser CDATA cependant …

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

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

Non, personne n'a plus besoin de ça et, si vous le faites, vous avez d'autres problèmes à prendre en compte. Lorsque vous souhaitez vraiment supporter les navigateurs qui en ont besoin, vous devez surveiller beaucoup plus de choses. Même pas parler du manque de css!

Cependant, le problème majeur est que les gens font cela mal. En fait, votre exemple est erroné, car la ligne

 --> 

devrais lire

 //--> 

Deuxièmement, vous tapez l'attribut indique "texte / JavaScript" ce qui ne va pas aussi. Il a été "texte / javascript" (toutes les minuscules), mais cela est obsolète (voir la liste IANA ) et maintenant il devrait être "application / javascript" (voir une autre liste IANA . Cependant, Douglas Crockford, le JS Guru, vous a dit Devrait juste le laisser tomber.

Un autre problème que personne n'a déjà mentionné est le suivant: dans les commentaires HTML, "-" n'est pas autorisé et cela signifie que vous ne pouvez pas utiliser "x–" pour décrémenter x par un.

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

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

Peut-être que les deux sont équivalents? Quelqu'un sait-il s'il y a un avantage sur l'autre?