Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2007, 23h40   #1
Invité de passage
 
Inscription : juin 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 29
Points : 1
Points : 1
Par défaut Problème de XML

Bonjour à tous !
J'ai réalisé la fonction Flash suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
function nbElementSurPage(page,videopage){
 
    var ficVideo = new XML(); // Création d'un objet XML
    ficVideo.ignoreWhite = true;
    ficVideo.load("xml.xml");
 
    // Lors du chargement
    ficVideo.onLoad = function(status){
 
        var videos = this.childNodes[0]; // On se place sur l'élément videos
        var fils = videos.childNodes; // Récupération des fils du fichier
        var nbvideos = fils.length; // Nombre total de vidéos dans le XML
        var nbvideopage = 0; // Nombre de vidéos sur la page
 
        var present = false; // Indique la présence ou non de vidéos sur la page spécifiée
 
        // Parcours du fichier s'il y a des élèments
        if (nbvideos != 0){
            debut = ((page-1)*4)+1; // Numéro de la première vidéo de la page
 
            // Si la première vidéo de la page est inférieure au nombre total de vidéo, on peut compter
            if (debut <= nbvideos){
                nbvideopage = (nbvideos-debut)+1 // Nombre de vidéos suivant la première de la page
 
                // S'il y a plus de vidéo restante que de vidéos par page possible
                if (nbvideopage > videopage){
                    nbvideopage = videopage; // On retourne le nombre maximum de vidéos par page
                }
            }
        }
    }
 
    return nbvideopage;
}
Mon but est d'appeler cette fonction quand je le désire et de récupérer la valeur retournée.
Le problème c'est que tous les calculs sont effectués dans le onLoad. J'aimerais ne pas avoir ce onLoad et appeler les méthodes XML directement dans le fonction (j'ai vu sur developpez.com que c'était possible).

Le problème, c'est que les méthodes ne fonctionnent pas sans ce onLoad ...
J'ai essayé de faire un trace(ficVideo) après le load("xml.xml"), mais même ce trace me retourne un undefined ...

Je tourne en rond depuis quelques temps sur ce problème que je n'arrive pas à résoudre ... J'espère que vous pourrez m'aider ... Merci !
Squaredge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2007, 01h39   #2
Membre chevronné
 
Avatar de luta
 
Inscription : novembre 2003
Messages : 1 038
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 1 038
Points : 691
Points : 691
Envoyer un message via MSN à luta
la réponse est simple...l évenment onLoad de la classe Xml se déclenche quand ton document est chargé...donc tu n as pas trop le choix
sinon tu
peux executer tes fonctions...mais sans le xml.. a toi de voir
luta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2007, 01h59   #3
Invité de passage
 
Inscription : juin 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 29
Points : 1
Points : 1
Citation:
Envoyé par luta
la réponse est simple...l évenment onLoad de la classe Xml se déclenche quand ton document est chargé...donc tu n as pas trop le choix
sinon tu
peux executer tes fonctions...mais sans le xml.. a toi de voir
Humm .. je ne vois pas trop comment faire donc ...
J'ai également utilisé une variable globale pour pouvoir récupérer ma valeur mais là aussi, ça coince ...

Une idée pour me débloquer ?
Squaredge est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2007, 19h12   #4
Membre chevronné
 
Avatar de luta
 
Inscription : novembre 2003
Messages : 1 038
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 1 038
Points : 691
Points : 691
Envoyer un message via MSN à luta
si tu veux pouvoir appeller tes fonctions quand tu le désires, il faut absomument que tu sois sur que ton XML est chargé...donc moi j aurais mis un stop() sur l image 1 puis je serais passé à l image 2 au onLoad du XML...
la tu es sur de tout avoir...après je ne sais pas si ma technqiue est la bonne..
luta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2007, 19h33   #5
Membre habitué
 
Inscription : septembre 2006
Messages : 232
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 232
Points : 126
Points : 126
Salut,

alors pour moi, je pense qu'il y a une erreure dans l'ordre
Je m'explique:
Tu dois en premier dire les fonction dans le onLoad, et ensuite charger le xml ave Load. De plus je comprend pas trop l'url de ton xml.

Soit ton code :
Code :
1
2
3
4
5
6
7
8
9
    var ficVideo = new XML(); // Création d'un objet XML
    ficVideo.ignoreWhite = true;
    
    ficVideo.onLoad = function(){
        tes fonctions ici
    }
       
    ficVideo.load("l'adresse de ton xml");
éloi_75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2007, 23h26   #6
Membre chevronné
 
Avatar de luta
 
Inscription : novembre 2003
Messages : 1 038
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 1 038
Points : 691
Points : 691
Envoyer un message via MSN à luta
moi je n aie pas compris ceci de la meme maniere pour moi, Squaredge veut pouvoir appeller ses fonctions sur son xml n importe quand dans son animation en non pas juste au onLoad du XML.
Donc en mettant un stop() a l image 1 et lancant le load() du xml...a l evenement onLoad on ira a l image 2 et la il lui sera posible de faire comme bon lui sembe avec son XML...
luta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h21.


 
 
 
 
Partenaires

Hébergement Web