(in)compatibilité javascript et XHTML 1.0 Transitional

compatibilité javascript et XHTML 1.0 Transitional (in) - HTML/CSS - Programmation

Marsh Posté le 31-10-2006 à 17:38:57    

Bonsoir,
alors je viens de me rendre compte (apres des longues heures...) que si le code javascript qui se trouve dans cette page ne fonctionne pas:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html><head><title>Test</title>
  3. </head><body>
  4. <script type="text/javascript">
  5. <!--
  6. for(var i=1; i<=100; i++)
  7. document.write("<br>ligne " + i);
  8. function vershaut() {
  9. var y=0;
  10. if (window.pageYOffset) y = window.pageYOffset;
  11. else if (document.body && document.body.scrollTop) y=document.body.scrollTop;
  12. while(y > 0) {
  13.   setTimeout("window.scrollBy(0,-10)",10);
  14.   y = y - 10;
  15. }
  16. }
  17. //-->
  18. </script>
  19. <a href="javascript:vershaut()">faire d&eacute;filer vers le haut</a>
  20. </body></html>


 
c'est a cause du

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


puisque celui-ci fonctionne:

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


 
donc comment faire pour que la page soit valide XHTML mais que le javascript foncionne ???

Reply

Marsh Posté le 31-10-2006 à 17:38:57   

Reply

Marsh Posté le 31-10-2006 à 17:46:28    

les document.write c'est le mal... T'avais qu'a utiliser le DOM :o
 
Ou mieux encore pas mettre ton js pas dans ta page mais dans un fichier séparé!

Message cité 1 fois
Message édité par anapajari le 31-10-2006 à 17:46:45
Reply

Marsh Posté le 07-11-2006 à 13:27:32    

meme en n'utilisant pas le document.mal ça ne fonctionne pas
et bien entendu je l'avais mis dans un fichier séparé...  
 
j'ai remarqué que ça venait du doctype, pourquoi ?

Reply

Marsh Posté le 08-11-2006 à 10:51:32    

Salut,
Le xhtml étant plus strict tu dois mettre ton code js dans le tag

Code :
  1. <script type="text/javascript">
  2. <![CDATA[
  3. //to code
  4. ]]>
  5. </script>


---------------
programming cookbook
Reply

Marsh Posté le 08-11-2006 à 13:13:57    

Et encore mieux, mettre le JS dans un fichier à part. Pas besoin d'escaping à la con, et le fichier pourra être mis en cache :o Je sais pas quelle est cette manie de toujours vouloir mettre du script avec le code HTML comme ça :??:
 
Attention aux document.write à surtout jamais utiliser (document.write... Mais où se fait le write ? -> problèmes).

Reply

Marsh Posté le 08-11-2006 à 13:27:16    

anapajari a écrit :

les document.write c'est le mal... T'avais qu'a utiliser le DOM :o
Ou mieux encore pas mettre ton js dans ta page mais dans un fichier séparé!


 

FlorentG a écrit :

Et encore mieux, mettre le JS dans un fichier à part. Pas besoin d'escaping à la con, et le fichier pourra être mis en cache :o Je sais pas quelle est cette manie de toujours vouloir mettre du script avec le code HTML comme ça :??:
 
Attention aux document.write à surtout jamais utiliser (document.write... Mais où se fait le write ? -> problèmes).


Copieur :o
 

Reply

Sujets relatifs:

Leave a Replay

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