Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1252 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Je deviens chèvre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Je deviens chèvre

n°1402927
Arjuna
Aircraft Ident.: F-MBSD
Posté le 08-07-2006 à 15:11:52  profilanswer
 

Je suis en train de faire un petit site. Vu que je suis sous Vista béta 2, je n'ai que IE7 qui est lui aussi en béta pour tester.
Donc quand j'ai eu mon problème au début, j'ai remis ça sur le dos de la béta.
Mais depuis que j'ai dwl Mozilla, et que j'ai le même problème, là je commence à sècher sérieusement...
 
Voici ma page :
 


<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head xmlns="">
    <title>Accueil</title>
    <script type="text/javascript" src="xsl/js/debug_links.js" />
  </head>
  <body>
    <form action="." method="post">
      <div style="border: solid 1px black; float: left; height: 100%" xmlns="">
        <ul>
          <li><a href="?page=P_HOME">Acceuil</a><br /><i><font size="-2">Page d'acceuil</font></i></li>
          <li><a href="?page=P_HELP">Aide</a><br /><i><font size="-2">Besoin d'aide ?</font></i></li>
          <li><a href="?page=P_ARTICLE_LIST">Articles</a><br /><i><font size="-2">Voir les articles</font></i></li>
        </ul>
        login: <input type="text" name="chp:user_nickname" /><br />
        pass: <input type="password" name="chp:user_password" /><br />
        <input type="submit" />
      </div>
      <p xmlns="">
        <font size="-1">
          MagicSite beta 1 - MagicBuzz 2006 © - Tous droits réservés 2006
        </font>
      </p>
    </form>
  </body>
</html>


 
On notera le :

<script type="text/javascript" src="xsl/js/debug_links.js" />


 
Il n'est pas formé comme d'habitude, avec une baliser fermante, car la page est en fait générée par du XSL.
 
Sous IE7 : rien ne s'affiche.
Sous FF, ça marche (étrange, voyez la suite). Le JS qui est inclut (qui contient un "window.onload" ) s'éxécute bien.
 
Une fois que j'ai chargé avec FF, je rempli le formulaire, et je recharge la page.
 


<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head xmlns="">
    <title>Accueil</title>
    <script type="text/javascript" src="xsl/js/debug_links.js" />
  </head>
  <body>
    <form action="." method="post">
      <div style="border: solid 1px black; float: left; height: 100%" xmlns="">
        <ul>
          <li><a href="?page=P_HOME">Acceuil</a><br /><i><font size="-2">Page d'acceuil</font></i></li>
          <li><a href="?page=P_HELP">Aide</a><br /><i><font size="-2">Besoin d'aide ?</font></i></li>
          <li><a href="?page=P_ARTICLE_LIST">Articles</a><br /><i><font size="-2">Voir les articles</font></i></li>
        </ul>
        Bonjour MagicBuzz
        <input type="hidden" name="chp:user_id" value="1" />
        <input type="hidden" name="chp:user_nickname" value="MagicBuzz" />
        <input type="hidden" name="chp:user_password" value="lepassword" />
        <script type="text/javascript" language="javascript">
            alert("toto" );
        </script>
      </div>
      <p xmlns="">
        <font size="-1">
          MagicSite beta 1 - MagicBuzz 2006 © - Tous droits réservés 2006
        </font>
      </p>
    </form>
  </body>
</html>


 
Quasiment la même page quoi.
Avec IE, vu la page précédente, je ne peux pas tester.
Sous FF... Là c'est sport : seul "MagicSite beta 1 - MagicBuzz 2006 © - Tous droits réservés 2006" s'affiche ! Et le js (alert) ne se lance pas. Pour l'autre JS, je ne peux pas vérifier, puisqu'il impacte les liens qui disparraissent.
 
Si dans la première page, je rajoute un block JS de ce style dans le body, ça marche sous IE7 et les JS se lancent :


<script type="text/javascript" language="javascript">
  alert("toto" );
</script>


 
Si je vire simpement toute trace de JS, ça marche parfaitement dans les deux navigateur.
 
Dans tous les cas, sous les deux navigateurs, je n'ai pas d'erreur JS.
Et c'est pas le JS inclu qui efface la page, voyez vous-même :
 

Code :
  1. // This file add the "debug" directive to all links on the page if it is set on the current url
  2. // In other words, it extends the debug feature to the whole site
  3. function UpdateLinksWithDebugFlag()
  4. {
  5.     if (window.location.href.indexOf("?" ) > -1)
  6.     {
  7.         var debugEnabled = false;
  8.         var params = window.location.href.substr(window.location.href.indexOf("?" ) + 1).split("&" );
  9.         for (var i = 0; i < params.length; i++)
  10.         {
  11.             if (params[i] == "debug=1" )
  12.             {
  13.                 debugEnabled = true;
  14.                 break;
  15.             }
  16.         }
  17.         if (debugEnabled)
  18.         {
  19.             for (var i = 0; i < document.links.length; i++)
  20.             {
  21.                 if (document.links[i].href.indexOf("?" ) > -1)
  22.                 {
  23.                     document.links[i].href += "&debug=1";
  24.                 }
  25.                 else
  26.                 {
  27.                     document.links[i].href += "?debug=1";
  28.                 }
  29.             }
  30.             for (var i = 0; i < document.forms.length; i++)
  31.             {
  32.                 if (document.forms[i].action.indexOf("?" ) > -1)
  33.                 {
  34.                     document.forms[i].action += "&debug=1";
  35.                 }
  36.                 else
  37.                 {
  38.                     document.forms[i].action += "?debug=1";
  39.                 }
  40.             }
  41.         }
  42.     }
  43. }
  44. window.onload = UpdateLinksWithDebugFlag;


 
Une idée ? Parceque là, je trouve que c'est un comportement plus qu'étrange... Et je suis complètement coincé !


Message édité par Arjuna le 08-07-2006 à 15:12:42
mood
Publicité
Posté le 08-07-2006 à 15:11:52  profilanswer
 

n°1402928
Hermes le ​Messager
Breton Quiétiste
Posté le 08-07-2006 à 15:17:26  profilanswer
 

Si pour ton script JS tu mets la balise fermante, c'est toujours pareil ?

n°1402934
Arjuna
Aircraft Ident.: F-MBSD
Posté le 08-07-2006 à 15:21:43  profilanswer
 

Bah je peux pas trop tester, puisque c'est généré par du XSL (et que ce con me shoot la balise fermante tout seul). Dans le fichier original, il y a bien une balise fermante.

n°1402936
Arjuna
Aircraft Ident.: F-MBSD
Posté le 08-07-2006 à 15:24:03  profilanswer
 

En faisant "enregistrer sous" la page, et en mettant le tag de fin, en effet ça marche.
 
Sauf que là, je suis ennuyé pour conserver cette foutue balise fermante :/

n°1402938
Arjuna
Aircraft Ident.: F-MBSD
Posté le 08-07-2006 à 15:27:47  profilanswer
 

Arf !
 
J'étais pourtant sûr d'avoir testé hier soir...
Mais c'est bon, j'ai corrigé CE problème de la façon suivante :
 
Dans mon XSL :

<script type="text/javascript" src="xsl/js/debug_links.js">/**/</script>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Je deviens chèvre

 

Sujets relatifs
[JS/DOM] Bug sous IE, l'image se s'affiche pas ! [RESOLU][HTML/CSS] Je deviens fou avec mon affichage (table, div et css) help
Erreur de parsing... J'deviens fou :)SimpleDateFormat & MacOS X, je deviens fou
[ASP - Oracle] Je suis complètement chèvre ou quoi ?[PHP] Variables qui disparaissent ... je deviens fou !
[swing] hiérarchie de panels et layout [deviens Netbean]Limiter la taille d'un champ texte, je deviens fou
[php] erreur mais ou ? je deviens fou merci d avance[prolog] Recherche Urgent(loup,chevre,choux) sujet d'iup1
Plus de sujets relatifs à : [JS] Je deviens chèvre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR