Javascript dans commentaire HTML ou <noscript> ??

Javascript dans commentaire HTML ou <noscript> ?? - HTML/CSS - Programmation

Marsh Posté le 16-10-2009 à 02:47:11    

Bonsoir,
 
J'ai une question que je trouve un peu débile et basique mais en même temps je ne lui trouve pas vraiment de réponse satisfaisante...  :sarcastic:  
 
Dans diverses docs, je lis qu'il faut intégrer un script javascript dans un code (x)html de la manière suivante:

Code :
  1. <script>
  2. <!--
  3. [le script en question];
  4. //-->
  5. </script>


Cela pour éviter qu'un navigateur ne prenant pas en charge js (ou si celui-ci est désactivé) n'affiche le script comme du contenu textuel.
 
Question 1
D'accord... et certains disent aussi que le js doit s'achever par la marque de commentaire // afin que la fermeture du commentaire html ne soit pas considérée comme du js erroné. Ok, mais... l'ouverture du commentaire html <!-- est bien après la balise <script> donc en théorie le navigateur qui prend en charge js devrait l'interpréter comme du js erroné pour la même raison !! Non?
 
Question 2
Les scripts repris dans <head> ... </head> doivent-ils aussi être affublés de ce "hack"? Et quel est l'intérêt de <noscript> à l'intérieur de <head> ... </head> ?
 
Merci de vos illuminations.

Reply

Marsh Posté le 16-10-2009 à 02:47:11   

Reply

Marsh Posté le 16-10-2009 à 08:08:09    

logx a écrit :

Bonsoir,
 
J'ai une question que je trouve un peu débile et basique mais en même temps je ne lui trouve pas vraiment de réponse satisfaisante...  :sarcastic:  
 
Dans diverses docs, je lis qu'il faut intégrer un script javascript dans un code (x)html de la manière suivante:

Code :
  1. <script>
  2. <!--
  3. [le script en question];
  4. //-->
  5. </script>


Cela pour éviter qu'un navigateur ne prenant pas en charge js (ou si celui-ci est désactivé) n'affiche le script comme du contenu textuel.
 
Question 1
D'accord... et certains disent aussi que le js doit s'achever par la marque de commentaire // afin que la fermeture du commentaire html ne soit pas considérée comme du js erroné. Ok, mais... l'ouverture du commentaire html <!-- est bien après la balise <script> donc en théorie le navigateur qui prend en charge js devrait l'interpréter comme du js erroné pour la même raison !! Non?
 
Question 2
Les scripts repris dans <head> ... </head> doivent-ils aussi être affublés de ce "hack"? Et quel est l'intérêt de <noscript> à l'intérieur de <head> ... </head> ?
 
Merci de vos illuminations.


 
La vraie et meilleur façon d'intégrer du JS de nos jours est :  
 

Code :
  1. <script type="text/javascript">
  2. //ton script ici
  3. </script>


ça dans le cadre du HTML.
Dans le cadre du xHTML il faudrait rajouter les balises CDATA
 

Code :
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. alert("<This is compatible with XHTML>" );
  4. //]]>
  5. </script>


 
Le coup des "commentaires" avant et après le code JS c'est juste pour les VIEUX navigateurs qui pinaient keudal au JS et donc cacher ce JS pour ces vieux navigateurs.
Mais on est plus en 1998, si le mec continue de naviguer avec IE5.0 sous windows, c'est lui que ça regarde pas toi.
 
Ensuite pour le coup du noscript, je déconseille d'utiliser le noscript. Ta page dois être fonctionnelle sans javascript. Si tu as du javascript, il vient se greffer sur ta page et rajouter des fonctionnalités.


---------------
Blablaté par Harko
Reply

Marsh Posté le 16-10-2009 à 12:39:43    

Ok oui je me doute bien qu'aujourd'hui tous les browsers y compris ceux de 2 ou 3 versions antérieures gèrent le js. Mais je pensais surtout aux utilisateurs qui ont désactivé le js ou, dans le cas d'un site à vocation assez internationale, à un surf sur des pc qui dans certains endroits du globe peu favorisés datent peut-être de Mathusalem.


Message édité par logx le 16-10-2009 à 12:40:34
Reply

Marsh Posté le 16-10-2009 à 14:52:21    

Bah, si le javascript est désactivé, un navigateur pas trop pourri, ignorera toutes les déclarations <script type="text/javascript">, donc pas la peine de te prendre la tête avec des commentaires. Par pas trop pourri, j'inclu tout ce qui est sorti depuis IE6 et FF1, donc il y a de la marge.

Reply

Marsh Posté le 17-10-2009 à 15:01:39    

Et le doc restera valide quand-même? (je suppose mais bon)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed