94 votes

Sont des commentaires HTML à l’intérieur des balises de script est recommandé ?

La suite de la pratique est assez courante dans le JavaScript en ligne j'ai de travailler avec:

<script type="text/javascript">
   <!--
       // Code goes here
   //-->
</script>

Je sais que le but est d'empêcher les navigateurs qui sont incompatibles avec le JavaScript de rendu de la source, mais est-ce encore une des meilleures pratiques d'aujourd'hui? La grande majorité des navigateurs utilisés aujourd'hui peut interpréter JavaScript; même les appareils mobiles modernes n'ont généralement pas de problèmes.

Comme pour le "pourquoi pas?" question: j'ai récemment eu à passer plusieurs heures de débogage d'un problème où quelqu'un avait laissé le "/ / "devant un" -- > " à la fin d'une balise de script enfoui au plus profond dans certaines pages, et c'était à l'origine mystérieuse des erreurs JavaScript.

Que faites-vous? Est-ce encore considéré comme une meilleure pratique?'

113voto

Noldorin Points 67794

La chose importante est que, de nos jours, si un navigateur supporte JavaScript ou non n'est pas pertinent (clairement la grande majorité ne) - il n'est pas pertinent parce que presque tous comprendre des blocs de script, ce qui signifie qu'ils savent à ignorer le JavaScript, même si ils ne peuvent pas l'interpréter.

Matt Kruse donne un peu plus d'explication détaillée sur ses outils JavaScript site pour pourquoi précisément pas à utiliser les commentaires en HTML à l'intérieur des blocs de script.

Cité à partir de cette page:


N'Utilisez pas les Commentaires HTML Dans des Blocs de Script

Dans les jours anciens de javascript (1995), certains navigateurs comme Netscape 1.0 n'a pas toute forme de soutien ou de connaissances de la balise script. Ainsi, lorsque le javascript a été publié tout d'abord, une technique a été nécessaire pour cacher le code de navigateurs plus anciens, de façon à ne pas afficher en tant que texte dans la page. Le 'hack' a utiliser des commentaires HTML dans le bloc de script pour cacher le code.

À l'aide de Commentaires HTML Dans le Script Est Mauvais

// DON'T do this! Code is just representative on how things were done
<script language="javascript">
<!--
   // code here
//-->
</script>

Pas de navigateurs couramment utilisés de nos jours sont ignorants de la balise <script>, afin de masquer source javascript n'est plus nécessaire. En fait, il peut être considéré comme nocif pour les raisons suivantes:

  • Dans les documents XHTML, la source sera effectivement caché de tous les navigateurs et rendu inutile
  • -- n'est pas autorisé dans les commentaires HTML, de sorte que toute décrémenter les opérations dans le script sont invalides

24voto

chaos Points 69029

Je n’ai cessé de le faire. À un moment donné, il suffit de laisser aller votre NCSA Mosaic.

9voto

Webrsk Points 581

Conformément à la Recommandation du W3C , c'est principalement utile pour masquer le script de données de l'UTILISATEUR à partir d'AGENTS.

Cité par le W3c page :

Commentaires des scripts en JavaScript Le JavaScript moteur permet à la chaîne de caractères "<!--" à se produire au début d'un élément de SCRIPT, et ignore les autres caractères jusqu'à la fin de la ligne. JavaScript interprète "//" que le démarrage d'un commentaire s'étendant jusqu'à la fin de la ligne courante. Cela est nécessaire pour cacher la chaîne de caractères "-->" JavaScript analyseur.

    <SCRIPT type="text/javascript">
<!--  to hide script contents from old browsers
  function square(i) {
    document.write("The call passed ", i ," to the function.","<BR>")
    return i * i
  }
  document.write("The function returned ",square(5),".")
// end hiding contents from old browsers  -->
</SCRIPT>

8voto

Quentin Points 325526

Non, c’est une gueule de bois d’une solution de contournement utilisée lorsque l’élément script a été introduit. Aucun navigateur ne parvient pas à comprendre l’élément script aujourd'hui (même si elle le comprend comme « Script qui doit être ignorée car le script est désactivé ou non supporté »).

En XHTML, elles sont activement préjudiciables.

J’ai écrit quelque chose sur l’histoire de celui-ci tout à l’heure.

3voto

Jake McGraw Points 16515

Cessé d’utiliser cela tout à l’heure. En outre, selon Douglas Crockford, vous pouvez déposer l’attribut type de vos balises script étant le seul langage de script disponible dans la plupart des navigateurs JavaScript.

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