IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Subtile différence entre les navigateurs ?


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Subtile différence entre les navigateurs ?
    Bonjour,
    Je travaillais sur un petit jeu en javascript et je suis tombé sur un problème. Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <html>
     <head> 
     <script type="text/javascript"> 
       i=0;
       function ecrire()
       { 
     	document.write("<a onClick='ecrire()'>hello"+i+"</a><br/>");
     	i++;
       }
      </script>
     </head>
     <body>
      <a onClick="ecrire()">Ecrire</a>
     </body>
    </html>
    Ce code est censé écrire un lien appelé hello0 et quand on clique dessus apparaît en dessous hello1, si on clique sur hello0 ou hello1, ça écrit hello2, etc... Je sais pas si c'est compréhensible !?
    Le problème, c'est que sous Chrome et Safari ça fonctionne tip-top, mais sur Firefox et IE pas du tout...
    Est-ce que quelqu'un a une idée d'où pourrait provenir le problème ?
    Merci d'avance !!

    Badawassi

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    document.write ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai toujours utilisé cette technique pour simplement afficher un texte à l'écran... Est-ce faux ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    faux non mais a éviter dans cette utilisation car la page est "close"
    mieux vaut passer par le dom
    Mais le problème majeur reside dasn la non inhibiton du href
    met un return false après dans le onclick

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    La page est close ? Qu'est-ce que tu entends par là ?
    Quand tu dis DOM, cela veut dire que je devrais plutôt utiliser le innerHTML ?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    fermée, finie ....

    document.write a tendance à effacer le contenu

    mais essaye avec le return false

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ça ne change rien en utilisant le return false... je pense que l'inhibition du href n'y est pour rien puisque si je mets une balise span j'ai le même problème...
    Une autre idée ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    </head>
     <script type="text/javascript"> 
       i=0;
       function ecrire()
       { 
     	document.getElementById("foo").innerHTML="hello "+i;
     	i++;
       }
      </script>
     <body>
      <a id="foo" onclick="ecrire();return false">Ecrire</a>
     </body>
    </html>

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci, mais ça ne résout pas totalement le problème... ce que j'aurais voulu, ce n'est pas que le texte soit remplacé, mais qu'il vienne en-dessous, que ça crée un nouveau lien en fait... Tu vois ce que je veux dire ?

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 664
    Points
    66 664
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    </head>
     <script type="text/javascript"> 
       i=0;
       function ecrire()
       { 
     	var newa=document.getElementById("foo").cloneNode(true)
     	newa.innerHTML="hello "+(++i);
     	document.body.appendChild(document.createElement('br'));
    	document.body.appendChild(newa);
     
       }
      </script>
     <body>
      <a id="foo" onclick="ecrire();return false">Ecrire</a>
     </body>
    </html>

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ok merci pour ton aide je vais essayer de me débrouiller avec ça !!

  12. #12
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    et ce que spaceFrog voulait dire par "document fermé/clos", c'est que le document.write ne doit être utilisé que lors du chargement de la page, lors de sa création.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence de 1px entre les navigateurs
    Par dominos dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 22/11/2011, 12h30
  2. [XHTML 1.1] Différence d'affichage entre les navigateurs et accents mal affichés
    Par aba.com dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/02/2010, 19h12
  3. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  4. Réponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo