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

Flash Discussion :

Problème passage de variable de la page web à Flash


Sujet :

Flash

  1. #1
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut Problème passage de variable de la page web à Flash
    Re-bonjour,

    J'ai une animation flash et j'ai appliqué les fichiers de corrections d'Adobe pour que sous IE on ne soit pas obligé de cliquer une première fois sur l'animation pour "activer le contenu de l'animation" ! et j'essaie de passer une variable de ma page web à Flash.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','380','height','270','src','portable','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','portable' ); //end AC code
    </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="380" height="270">
    <param name="movie" value="portable.swf" />
    <param name="quality" value="high" />
    <embed src="portable.swf?res=1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="380" height="270"></embed>
    </object></noscript>
    J'ai inclus mes fichiers entre les balises HEAD:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    <script src="Scripts/AC_ActiveX.js" type="text/javascript"></script>
    et voici le contenu du fichier AC_RunActiveContent.js:

    Comment dois-je modifier mon code pour passer ma variable res ? au fichier AC_RunActiveContent.js ?

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    //v1.0
    //Copyright 2006 Adobe Systems, Inc. All rights reserved.
    function AC_AddExtension(src, ext)
    {
      if (src.indexOf('?') != -1)
        return src.replace(/\?/, ext+'?'); 
      else
        return src + ext;
    }
     
    function AC_Generateobj(objAttrs, params, embedAttrs) 
    { 
      var str = '<object ';
      for (var i in objAttrs)
        str += i + '="' + objAttrs[i] + '" ';
      str += '>';
      for (var i in params)
        str += '<param name="' + i + '" value="' + params[i] + '" /> ';
      str += '<embed ';
      for (var i in embedAttrs)
        str += i + '="' + embedAttrs[i] + '" ';
      str += ' ></embed></object>';
     
      document.write(str);
    }
     
    function AC_FL_RunContent(){
      var ret = 
        AC_GetArgs
        (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
         , "application/x-shockwave-flash"
        );
      AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    }
     
    function AC_SW_RunContent(){
      var ret = 
        AC_GetArgs
        (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
         , null
        );
      AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    }
     
    function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
      var ret = new Object();
      ret.embedAttrs = new Object();
      ret.params = new Object();
      ret.objAttrs = new Object();
      for (var i=0; i < args.length; i=i+2){
        var currArg = args[i].toLowerCase();    
     
        switch (currArg){	
          case "classid":
            break;
          case "pluginspage":
            ret.embedAttrs[args[i]] = args[i+1];
            break;
          case "src":
          case "movie":	
            args[i+1] = AC_AddExtension(args[i+1], ext);
            ret.embedAttrs["src"] = args[i+1];
            ret.params[srcParamName] = args[i+1];
            break;
          case "onafterupdate":
          case "onbeforeupdate":
          case "onblur":
          case "oncellchange":
          case "onclick":
          case "ondblClick":
          case "ondrag":
          case "ondragend":
          case "ondragenter":
          case "ondragleave":
          case "ondragover":
          case "ondrop":
          case "onfinish":
          case "onfocus":
          case "onhelp":
          case "onmousedown":
          case "onmouseup":
          case "onmouseover":
          case "onmousemove":
          case "onmouseout":
          case "onkeypress":
          case "onkeydown":
          case "onkeyup":
          case "onload":
          case "onlosecapture":
          case "onpropertychange":
          case "onreadystatechange":
          case "onrowsdelete":
          case "onrowenter":
          case "onrowexit":
          case "onrowsinserted":
          case "onstart":
          case "onscroll":
          case "onbeforeeditfocus":
          case "onactivate":
          case "onbeforedeactivate":
          case "ondeactivate":
          case "type":
          case "codebase":
            ret.objAttrs[args[i]] = args[i+1];
            break;
          case "width":
          case "height":
          case "align":
          case "vspace": 
          case "hspace":
          case "class":
          case "title":
          case "accesskey":
          case "name":
          case "id":
          case "tabindex":
            ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
            break;
          default:
            ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
        }
      }
      ret.objAttrs["classid"] = classid;
      if (mimeType) ret.embedAttrs["type"] = mimeType;
      return ret;
    }
    Merci !
    Les cours: XHTML, CSS, PHP, Flash et Javascript
    Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
    N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
    Aucune question technique par MP.

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Bonjour a tous,

    Tu pourrais plutot utiliser la balise param pour transmetre tes variable a flash.

    jete un coup d'oeil sur cette exemple : http://www.developpez.net/forums/sho...95&postcount=4

  3. #3
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    Bien vu !! Mais ca ne résout pas mon problème...

    Faudrait que je fasse ceci dans mon fichier JS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function AC_FL_RunContent(){
      var ret = 
        AC_GetArgs
        (  arguments, ".swf?res="<?php echo "1"; ?>, "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
         , "application/x-shockwave-flash"
        );
      AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
    }
    Mais comme le fichier est un fichier JS ca ne fonctionne pas.. Comment faire donner la valeur 1 à res ! Cette valeur (1 ou 0) provient de PHP plus haut donc je peux pas la mettre en dur, faut qu'elle soit dynamique !!
    Les cours: XHTML, CSS, PHP, Flash et Javascript
    Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
    N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
    Aucune question technique par MP.

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Citation Envoyé par Dsphinx
    j'essaie de passer une variable de ma page web à Flash.
    Je suis désolé, mais je reste buté sur mon idée que pour transmettre a flash une variable, il faut utiliser la balise <param>

    L'utilité d'écrir src="portable.swf?res=1" au lieu de src="portable.swf" pour ta balise embed permet de forcé le rechargement de ton animation flash ( si res change )


    en jettant rapidement un coup d'oeil au code, il suffit d'écire :
    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
     <script type="text/javascript">
    <?php
    echo "AC_FL_RunContent(
    'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0', 'width','380',
    'height','270',
    'src','portable',
    'quality','high',
    'pluginspage','http://www.macromedia.com/go/getflashplayer',
    'movie','portable'
    
    'FlashVars','res=1'
    
     ); //end AC code";
    ?>
    </script>
    Mais bon, si c'est vraiment src="portable.swf?res=1" que tu veux , je peu rien pour toi ...

  5. #5
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    Yeeeees ! Merci CR_Gio ! T'as raison le passage des variables avec FlashVars est bien plus facile et ca facilite bcp ma structure dans mon fichier JS !!

    Désolé j'avais pas bien regardé au début (je suis tout à l'ouest) ! Encore merci !

    Les cours: XHTML, CSS, PHP, Flash et Javascript
    Expliquez votre problème clairement et pensez à remercier ceux qui vous ont aidé.
    N'oubliez pas : Le tag résolu est la meilleure des satisfactions sur developpez.com
    Aucune question technique par MP.

  6. #6
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Tu devrais jeter un coup d'oeil au script swfobject, il permet de détecter la version du flashplayer du client, compatible xhtml, permet de bypasser le click sous ie et peux transmettre des variables au swf (par flashvars).
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2014, 11h14
  2. probléme concernant le passage des variable d'une page web à une autre
    Par aefmaaradji dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 13/08/2010, 19h27
  3. Réponses: 2
    Dernier message: 06/12/2007, 12h39
  4. [Cookies] passage de variable d'une page a l'autre
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 15/11/2005, 01h50
  5. Réponses: 5
    Dernier message: 31/08/2005, 10h05

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