Equivalent DoEvents (Visual Basic) pour Javascript
haplo67
Messages postés31Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 4 juillet 2007
-
16 févr. 2007 à 13:17
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
17 févr. 2007 à 10:21
Bonjour à tous !
Je m'excuse par avance si je n'ai pas choisi le bon thème, mais aucun ne semblait indiqué pour mon problème. Je vous l'expose :
Je suis en train de réaliser un site intranet (pour ma propre utilisation). Ce site lance une fonction Javascript au démarrage, qui me donne les dates d'anniversaires des personnes de mon entourrage pour les trois jours à venir (aujourd'hui, demain et après-demain). Pour cela, j'utilise un fichier XML, que j'exploite à l'aide de la méthode DSO avec Javascript. Cependant, de temps en temps, quand je lance cette page, un message d'erreur apparaît : "Operation is not allowed when the object is closed". A mon avis, cela vient du fait que lorsque j'ouvre le fichier et que je lance les différentes fonctions destinées à afficher les anniversaires, le fichier XML n'a pas le temps de se charger entièrement. D'où le sujet de ma question (enfin !) : existe-t'il un équivalent Javascript de la méthode DoEvents de Visual Basic (histoire que mon fichier puisse être complètement chargé avant que mes fonctions l'utilisent) ?
Evidemmment, je peux me tromper, et je serais heureux d'avoir votre avis sur la question
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 16 févr. 2007 à 15:11
Bonjour,
>>le fichier XML n'a pas le temps de se charger entièrement
ce serait étonnant ! ( pour saper le moral : si on teste correctement !! )
je pense que j'ai un exemple sur ce site avec un tel fichier (xml)
( Traduction immédiate d'un Mot, de mémoire d'Alzheimer )
testé avec 100000 mots ( là aussi de mémoire ) et pas de souci
>>existe-t'il un équivalent Javascript de la méthode DoEvents de Visual Basic
"pas réellement"
on peut, parfois, s'en sortir avec un setTimeOut,
pas toujours, et JavaScript c'est de "l'asynchrone" ( je rigole, mais pas loin ).
on peut se faire un petit ActiveX, qui fasse ce DoEvents
( pour saper le moral, c'est assez simple )
bref, je pense que tout le monde aimerait en voir plus, car à priori,
pas de raisons ( oui, je sais , c'est agaçant d'entendre ça )
haplo67
Messages postés31Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 4 juillet 20072 16 févr. 2007 à 17:02
Un grand merci pour cette réponse rapide !
>>le fichier XML n'a pas le temps de se charger entièrement
ce serait étonnant ! ( pour saper le moral : si on teste correctement !! )
je pense que j'ai un exemple sur ce site avec un tel fichier (xml)
( Traduction immédiate d'un Mot, de mémoire d'Alzheimer )
testé avec 100000 mots ( là aussi de mémoire ) et pas de souci
En fait, si j'avais envisagé ce problème, c'est parce que j'avais un peu "bricolé" ma fonction. Juste après avoir chargé le fichier XML et juste avant que ca plante, j'avais créé une boucle qui comptait de 0 a 10000. Et là, pas d'erreur ! Tout fonctionnait, alors que sans la boucle j'avais obligatoirement une erreur. Même constatation avec la fonction alert().
>>existe-t'il un équivalent Javascript de la méthode DoEvents de Visual Basic
"pas réellement"
on peut, parfois, s'en sortir avec un setTimeOut
Le problème avec setTimeOut(), c'est que je ne connais pas le "temps de chargement"--n'étant pas entièrement sûr mais voulant être compris de tous, je l'appellerai comme ca ;) -- du fichier XML.
En conclusion, ca m'apprendra à vouloir faire du XML ! JE vais essayer de faire ca en PHP.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 17 févr. 2007 à 10:21
cependant, pour lire un fichier avec le JavaScript,
hors XML point de salut.
gérer ces fichiers ( lire, écrire... ) avec IE : ActiveX, avec FF : XPCom
des exemples des 2 sur CodesSources aussi.