Bug de Javascript ? InnerHTML

DuncanIdaho Messages postés 98 Date d'inscription mardi 1 janvier 2002 Statut Membre Dernière intervention 12 février 2008 - 12 févr. 2008 à 15:32
DuncanIdaho Messages postés 98 Date d'inscription mardi 1 janvier 2002 Statut Membre Dernière intervention 12 février 2008 - 12 févr. 2008 à 16:29
Bonjour;


J'ai cherché un bon moment, sur Internet, en créant quelques fonctions...  Au final, je n'arrive pas à comprendre mon problème, ou en tout cas, cela me parait trop... Illogique :-/


Je m'explique :


J'ai un site pratiquement entièrement généré en AJAX (Il s'agit d'une interface d'admin, dont l'architecture est en HTML normal, et tout le contenu est généré via AJAX).


Mon souci est le suivant :




J'utilise l'AJAX pour écrire le code HTML suivant dans un div :




Test





Ce code est simplissime au possible et marchera ters bien dans une page Web normale.




Sauf qu'ici, pour je-ne-sais quelle raison, ce code ne marchera peut-etre qu'une fois sur dix.




Il faudra peut etre cliquer 10 fois sur le div pour qu'il change de contenu.


J'avoue avoir épuisé toutes les solutions logiques...


 


J'ai d'autres problemes de ce style, du genre : Je fais un document.getElementById().style.display='none';  et il me faut cliquer 10 fois sur le bouton pour que ce soit enfin pris en compte.




Ca m'a tout l'air d'etre un bug aléatoire, et le plus etonnant - car j'avais pensé a un bug du navigateur, c'est que ce probleme existe sous IE et FF !
Sachant que si ce genre de trucs buggue, le reste des fonctions AJAX de mon interface continuent de  marcher...


Je sèche :-/


Quelqu'un aurait-il déjà rencontré ce soucis ? :-/


Merci d'avance


Duncan Idaho

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 févr. 2008 à 15:45
Bonjour,

    pour simplifier, il n'y a aucun bug dans aucun navigateur...
    c'est toujours celui qui code qui fait l'erreur.

>>j'avais pensé a un bug du navigateur,
    oublie, d'autant plus que ça le fait avec FF et IE !!!!

    maintenant tu nous ne donnes que peu d'infos pour tenter de résoudre....

    au nez, comme ça... je te parlerais d'histoire de cache... mais va savoir ce que tu fais ?

    ( au lieu d'appeler une http://url essayer http://url/?nombre aléatoire )

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
12 févr. 2008 à 15:49
Salut,
ce que tu écris :

Test

est généré avec du php (je vois pas trop ajax dans l'histoire)
c'est la div truc qui doit ce mettre à jour quand on click dessus ?
parce qu'en plus simple (en écriture et relecture)

Test

Mais si s'en ait une autre alors je ne vois pas pourquoi cela ne fonctionne pas !
j'ai juste mis le bout de code dans une page HTML simple et ça fonctionne...

(ps, je sais pas pourquoi je peux plus enlevé l'écriture italique...)
[o-_-o]
0
DuncanIdaho Messages postés 98 Date d'inscription mardi 1 janvier 2002 Statut Membre Dernière intervention 12 février 2008
12 févr. 2008 à 16:14
Bon, je suis navré, mais j'ai trouvé la solution dans mon code ^^"

Apres coup, j'ai repris le moteur de notre interface... et trouvé l'instruction qui faisait tout déconner...  parmis les centaines de lignes de code ^^" Un replace d'une quote, apparement...

Désolé d'avoir fait le boulet -_- et merci a vous ;)

Duncan Idaho
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 févr. 2008 à 16:21
un éditeur avec coloration syntaxique évite
    ce genre de chsoes ( la plupart du temps ), j'utilise NotePad++

sinon, les debuggers associés aux navigateurs, aident eux aussi

¡————————¡——————————————————————————————————————————————————————————¡
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
¦————————¦——————————————————————————————————————————————————————————¦
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
¦————————¦——————————————————————————————————————————————————————————¦
|K—Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Opera |regarder la "console d'erreurs" |
| | utils / Asole d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Safari |regarder Debug / Show JavaScript Console |
| | |
| |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
!————————!——————————————————————————————————————————————————————————!

>>Désolé d'avoir fait le boulet
    quel boulet ?   tu as résolu !
    et j'ai fais bien pire....

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DuncanIdaho Messages postés 98 Date d'inscription mardi 1 janvier 2002 Statut Membre Dernière intervention 12 février 2008
12 févr. 2008 à 16:29
Merci ! Je vais tester ca :) En esperant que ca passe sur mon Maxthon :P

Mais, la WebDevelloper Toolbar de FF ou la console JS de IE n'indiquait rien -_-

>un éditeur avec coloration syntaxique évite
>    ce genre de chsoes ( la plupart du temps ), j'utilise NotePad++


Je code sous Dreamweaver ;)

mais mon problème était directement dans ma fonction ajax... Dans un code vieux de 8 mois... Un instruction dont je ne connais meme plus l'utilité...
Heuresement qu'on va bientot se renouveller...

Enfin, bien souvent, la solution est de remonter a la source, épurer le code de tout ce qui pourrait poser probleme... C'est ce que j'ai fait ici : Supprimer le max de code possible jusqu'a trouver la source de l'erreur...

Duncan Idaho
0
Rejoignez-nous