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

Flex Discussion :

Javascript et Flex [Flex4]


Sujet :

Flex

  1. #1
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 90
    Points
    90
    Par défaut Javascript et Flex
    Bonjour,

    Je souhaiterais appeler une fonction flex lors de la fermeture de la fenetre ou s'execute mon application flex pour deconnecter proprement l'utilisateur.

    J'ai pas mal regarder sur le net mais aucune methode trouvée ne fonctionne.

    J'en suis rendu la :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
            <script type="text/javascript" src="swfobject.js"></script>
            <script type="text/javascript">
                // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
                var swfVersionStr = "${version_major}.${version_minor}.${version_revision}";
                // To use express install, set to playerProductInstall.swf, otherwise the empty string. 
                var xiSwfUrlStr = "${expressInstallSwf}";
                var flashvars = {};
                var params = {};
                params.quality = "high";
                params.bgcolor = "${bgcolor}";
                params.allowscriptaccess = "sameDomain";
                params.allowfullscreen = "true";
                var attributes = {};
                attributes.id = "${application}";
                attributes.name = "${application}";
                attributes.align = "middle";
                swfobject.embedSWF(
                    "${swf}.swf", "flashContent", 
                    "${width}", "${height}", 
                    swfVersionStr, xiSwfUrlStr, 
                    flashvars, params, attributes);
                // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
                swfobject.createCSS("#flashContent", "display:block;text-align:left;");
     
                var isConnected = 1;
                var messageClose = "";
     
                window.onbeforeunload = function(event) {
                	event = event || window.event;
                	cleanUp();
                    return messageClose;
                }
     
                function cleanUp() 
                {            	
                    if (isConnected == 1) {
                    	var myApp = getMyApplication("flashContent");
     
                    	alert("myApp:"+myApp);
                    	alert("document.getElementById(flashContent):"+document.getElementById("flashContent"));
     
                    	myApp.cleanUp();
                    }
                }
     
                function getMyApplication(appName)
                {
                    if (navigator.appName.indexOf ("Microsoft") != -1)
                     {
                          return window[appName];
                     }
                     else
                     {
                          return document[appName];
                     }
                }
            </script>
    Les alert me sortent ca :
    alert("myApp:"+myApp); ==> Undefined
    alert("document.getElementById(flashContent):"+document.getElementById("flashContent")); ==> null

    Ca donne l'impression qu'il ne connait pas mon application flex.
    Je n'arrive pas a comprendre pourquoi cela ne marche pas. Sivous avez une idée, je veux bien par ce que la je suis sec

    Youkoun

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    De mon côté voici comment j'ai fait

    En JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function cleanUp() {
    	document.idDeMonApplication.onCloseBrowser();
    }
    En AS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function onInit():void {
    	//detection de fermeture du navigateur via JS
    	if(ExternalInterface.available){
    		ExternalInterface.addCallback("onCloseBrowser", closeduBrowser);
    	}
    }
     
    public function closeduBrowser():void{
    	//Ici tu fais ce que tu veux dans ta partie flex
    }
    Je ne sais pas si c'est le plus "propre" mais ça fonctionne

    Bon courage !

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Points : 90
    Points
    90
    Par défaut
    Au final il falait que j'ecrive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myApp = getMyApplication("${application}");

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2010, 21h11
  2. code javascript document.write dans Flex
    Par Space23 dans le forum Flex
    Réponses: 0
    Dernier message: 28/09/2009, 11h28
  3. Réponses: 4
    Dernier message: 23/09/2009, 11h22
  4. [Mission/Télétravail] [TOULOUSE] Création de Sites Vitrines, Développeur HTML/CSS, PHP/MySQL, JavaScript, Flex
    Par arnaud.tlse dans le forum Demandes
    Réponses: 0
    Dernier message: 05/08/2009, 13h39

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