Alors la c'est quand meme con lorsqu'on sait a quel point Firebug est utile.
Et pourtant je suis tombé sur un truc marrant (enfin façon de parler)
Lors d'une requete Ajax vous avez un truc de ce genre
xhr_object = new XMLHttpRequest();
xhr_object.onreadystatechange=function() { code de la callback }
xhr_object.open('GET', url, false);
le dernier paramètre définissant si vous avez une callback ou non...
et bien si vous avez défini une callback, le code si dessus n'est pas appelé
a cause du false. Ce qui est finalement assez normal.
Sauf que si vous avez Firebug d'activé pour ce site, onreadystatechange va
etre déclanché que vous ayez mis false ou true dans le Open.
La ou c'est encore plus visieux, c'est que les autre navigateur n'ont que
faire de ce 3eme paramètre et déclanche l'évènement à tous les coup.
Bref, vous avez l'impression que vous avez fait un code super qui marche
partout et en fait... non !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mickaël Wolff
Etienne SOBOLE a écrit :
Salut.
Alors la c'est quand meme con lorsqu'on sait a quel point Firebug est utile. Et pourtant je suis tombé sur un truc marrant (enfin façon de parler)
Lors d'une requete Ajax vous avez un truc de ce genre xhr_object = new XMLHttpRequest(); xhr_object.onreadystatechange=function() { code de la callback } xhr_object.open('GET', url, false);
le dernier paramètre définissant si vous avez une callback ou non...
Faux. Tu interprète mal se paramètre. Le troisème paramètre indique si l'appel doit être asynchrone (true) ou synchrone (false).
Alors la c'est quand meme con lorsqu'on sait a quel point Firebug est utile.
Et pourtant je suis tombé sur un truc marrant (enfin façon de parler)
Lors d'une requete Ajax vous avez un truc de ce genre
xhr_object = new XMLHttpRequest();
xhr_object.onreadystatechange=function() { code de la callback }
xhr_object.open('GET', url, false);
le dernier paramètre définissant si vous avez une callback ou non...
Faux. Tu interprète mal se paramètre. Le troisème paramètre indique si
l'appel doit être asynchrone (true) ou synchrone (false).
Alors la c'est quand meme con lorsqu'on sait a quel point Firebug est utile. Et pourtant je suis tombé sur un truc marrant (enfin façon de parler)
Lors d'une requete Ajax vous avez un truc de ce genre xhr_object = new XMLHttpRequest(); xhr_object.onreadystatechange=function() { code de la callback } xhr_object.open('GET', url, false);
le dernier paramètre définissant si vous avez une callback ou non...
Faux. Tu interprète mal se paramètre. Le troisème paramètre indique si l'appel doit être asynchrone (true) ou synchrone (false).
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
Ceci etant dit, Je sais pas ce que tu appelles toi "asynchrone", mais le fait que la callback soit appelée lors de la réponse http via le déclanchement d'un èvenement (et donc sans bloquer le déroulement du javascript) me parait justement être le comportement qu'on pourrait attendre une méthode asynchrone !!!
Donc je pense que finalement j'interprète correctement ce paramètre ;)
Etienne
> Faux. Tu interprète mal se paramètre. Le troisème paramètre indique si
l'appel doit être asynchrone (true) ou synchrone (false).
N'empèche que si tu le mets a false sous FireFox,
l'evenement onreadystatechange n'est pas déclanché...
alors que si tu as firebug d'activé il est déclanché !!!
Ceci etant dit,
Je sais pas ce que tu appelles toi "asynchrone", mais le fait que la
callback soit appelée lors de la réponse http via le déclanchement d'un
èvenement (et donc sans bloquer le déroulement du javascript) me parait
justement être le comportement qu'on pourrait attendre une méthode
asynchrone !!!
Donc je pense que finalement j'interprète correctement ce paramètre ;)
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
Ceci etant dit, Je sais pas ce que tu appelles toi "asynchrone", mais le fait que la callback soit appelée lors de la réponse http via le déclanchement d'un èvenement (et donc sans bloquer le déroulement du javascript) me parait justement être le comportement qu'on pourrait attendre une méthode asynchrone !!!
Donc je pense que finalement j'interprète correctement ce paramètre ;)
Etienne
Mickaël Wolff
Etienne SOBOLE a écrit :
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
https://bugzilla.mozilla.org/show_bug.cgi?id13646
> > le dernier paramètre définissant si vous avez une callback ou non... Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique si un événement est déclenché ou non, et dans le second tu vas dans mon sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script lorsque l'événement est déclenché, ou si on suspend. C'est du multithread qui ne dit pas son nom (puisque le multithread n'existe pas en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai rencontré).
N'empèche que si tu le mets a false sous FireFox,
l'evenement onreadystatechange n'est pas déclanché...
alors que si tu as firebug d'activé il est déclanché !!!
https://bugzilla.mozilla.org/show_bug.cgi?id13646
> > le dernier paramètre définissant si vous avez une callback ou non...
Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique
si un événement est déclenché ou non, et dans le second tu vas dans mon
sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script
lorsque l'événement est déclenché, ou si on suspend. C'est du
multithread qui ne dit pas son nom (puisque le multithread n'existe pas
en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai
rencontré).
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
https://bugzilla.mozilla.org/show_bug.cgi?id13646
> > le dernier paramètre définissant si vous avez une callback ou non... Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique si un événement est déclenché ou non, et dans le second tu vas dans mon sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script lorsque l'événement est déclenché, ou si on suspend. C'est du multithread qui ne dit pas son nom (puisque le multithread n'existe pas en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai rencontré).
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
Bug visiblement connu et pénible à résoudre : <https://bugzilla.mozilla.org/show_bug.cgi?id13646>
> > le dernier paramètre définissant si vous avez une callback ou non... Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique si un événement est déclenché ou non, et dans le second tu vas dans mon sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script lorsque l'événement est déclenché, ou si on suspend. C'est du multithread qui ne dit pas son nom (puisque le multithread n'existe pas en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai rencontré).
N'empèche que si tu le mets a false sous FireFox,
l'evenement onreadystatechange n'est pas déclanché...
alors que si tu as firebug d'activé il est déclanché !!!
Bug visiblement connu et pénible à résoudre :
<https://bugzilla.mozilla.org/show_bug.cgi?id13646>
> > le dernier paramètre définissant si vous avez une callback ou non...
Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique
si un événement est déclenché ou non, et dans le second tu vas dans mon
sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script
lorsque l'événement est déclenché, ou si on suspend. C'est du
multithread qui ne dit pas son nom (puisque le multithread n'existe pas
en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai
rencontré).
N'empèche que si tu le mets a false sous FireFox, l'evenement onreadystatechange n'est pas déclanché... alors que si tu as firebug d'activé il est déclanché !!!
Bug visiblement connu et pénible à résoudre : <https://bugzilla.mozilla.org/show_bug.cgi?id13646>
> > le dernier paramètre définissant si vous avez une callback ou non... Donc je pense que finalement j'interprète correctement ce paramètre ;)
Relis-toi :p Dans ton premier message tu dis que le paramètre indique si un événement est déclenché ou non, et dans le second tu vas dans mon sens. On ne me fait pas de pirouette, j'vais encore avoir le tournis !
Le paramètre indique si oui ou non, on continue l'exécution du script lorsque l'événement est déclenché, ou si on suspend. C'est du multithread qui ne dit pas son nom (puisque le multithread n'existe pas en Javascript, à ma connaissance, et modulo cetains bricolages que j'ai rencontré).