La pratique suivante est assez courante dans le JavaScript en ligne avec lequel je dois travailler:
<script type="text/javascript">
<!--
// Code goes here
//-->
</script>
Je sais que le but est d'empêcher les navigateurs incompatibles avec JavaScript de restituer la source, mais est-ce toujours une bonne pratique aujourd'hui? La grande majorité des navigateurs utilisés aujourd'hui peuvent interpréter JavaScript; même les appareils mobiles modernes n'ont généralement pas de problèmes.
Quant au «pourquoi pas? question: j'ai récemment dû passer plusieurs heures à déboguer un problème où quelqu'un avait laissé le '//' devant un '->' à la fin d'une balise de script enfouie profondément dans certaines pages, ce qui provoquait un mystérieux JavaScript les erreurs.
Que faire? Est-ce toujours considéré comme une «meilleure pratique»?
la source
Réponses:
L'important est que de nos jours, le fait qu'un navigateur particulier prenne en charge JavaScript ou non n'est pas pertinent (clairement la grande majorité le fait) - cela n'a pas d'importance car presque tous comprennent les blocs de script, ce qui signifie qu'ils savent ignorer le JavaScript même s'ils ne le peuvent pas. l'interpréter.
Matt Kruse donne une explication un peu plus détaillée sur son site JavaScript Toolbox pour expliquer pourquoi spécifiquement ne pas utiliser de commentaires HTML dans des blocs de script.
Cité de cette page:
N'utilisez pas de commentaires HTML dans les blocs de script
Dans les temps anciens de javascript (1995), certains navigateurs comme Netscape 1.0 n'avaient aucun support ni aucune connaissance de la balise script. Ainsi, lorsque javascript a été publié pour la première fois, une technique était nécessaire pour masquer le code des anciens navigateurs afin qu'ils ne le montrent pas sous forme de texte dans la page. Le «hack» consistait à utiliser des commentaires HTML dans le bloc de script pour masquer le code.
L'utilisation de commentaires HTML dans un script est mauvaise
Aucun navigateur couramment utilisé aujourd'hui n'ignore la balise <script>, il n'est donc plus nécessaire de cacher la source javascript. En fait, cela peut être considéré comme nocif pour les raisons suivantes:
la source
J'ai arrêté de le faire. À un moment donné, il vous suffit de lâcher votre mosaïque NCSA.
la source
Conformément à la recommandation du W3C, il était principalement utile de cacher les données de script aux USER AGENTS.
Cité de la page W3c :
Commenter des scripts en JavaScript Le moteur JavaScript permet à la chaîne
"<!--"
de se produire au début d'un élément SCRIPT et ignore les autres caractères jusqu'à la fin de la ligne. JavaScript interprète "//" comme commençant un commentaire s'étendant jusqu'à la fin de la ligne courante. Ceci est nécessaire pour masquer la chaîne "->" de l'analyseur JavaScript.la source
Non, il s’agit d’une solution de contournement utilisée lors de la première introduction de l’élément de script. Aucun navigateur ne parvient aujourd'hui à comprendre l'élément de script (même s'il le comprend comme "Script à ignorer car le script est désactivé ou non pris en charge").
En XHTML, ils sont activement nuisibles.
J'ai écrit quelque chose sur son histoire il y a quelque temps.
la source
J'ai arrêté de l'utiliser il y a quelque temps. De plus, selon Douglas Crockford , vous pouvez supprimer l'attribut type de vos balises de script puisque le seul langage de script disponible dans la plupart des navigateurs est JavaScript.
la source
Si vous tapez manuellement, je vous suggère de toujours utiliser des fichiers js externes, cela aiderait beaucoup.
Concernant votre préoccupation: la plupart des navigateurs sont aujourd'hui sûrs avec JavaScript. Cependant, parfois, les gens peuvent écrire des analyseurs simples pour récupérer directement un code HTML - et je dois dire que le devis sécurisé est vraiment utile pour ces clients. De plus, certains clients non-JS comme l'ancien Lynx en tireraient des avantages.
la source
Si vous n'incluez pas de texte littéral entre les balises de script, c'est-à-dire si vous chargez des scripts à partir de fichiers src, vous pouvez oublier les commentaires.
la source
Je recommanderais d'utiliser une section CDATA, comme décrit dans cette question .
la source
J'ai arrêté de faire ça il y a longtemps. Vous n'en avez vraiment pas besoin de nos jours.
la source
Je ne le fais pas mais l'autre jour, je suis allé valider mon site protégé par mot de passe au w3c. J'ai donc dû utiliser leur méthode de saisie directe. Il s'est plaint de mon javascript, alors j'ai remis les commentaires dans tout allait bien.
la source