begin process at 2010 02 10 00:19:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Faire passer des variables php à flash par javascript.....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Faire passer des variables php à flash par javascript.....

vendredi 14 avril 2006 à 18:16:54 | Faire passer des variables php à flash par javascript.....

jacknikolson

Salut les javascripteurs.

J'ai un problème un peu complèxe (pour moi) à vous soumettre.

Vous n'êtes pas sans savoir que depuis la dernière mise à jour de IE les fichiers swf sont desactivés au lancement (il faut cliquer dessus pour les activer)...

A force de chercher toute la journée j'ai fini par trouver un moyen d'afficher les swf en contournant ce problème grace au javascript.

Dans un fichier foo.js :

function RunFoo()
{
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=
[ Lien ] width="100%" height="100%">\n');
    document.write('<param name="movie" value="smiley.swf" />\n');
    document.write('<param name="quality" value="high" />\n');    
    document.write('</object>\n');
}

et à la place de l'appel du swf:

<script type="text/javascript">RunFoo();</script>

Jusque là tout va bien.....merci les javascripteurs!

Sauf que de mon côté j'affiche mon swf dans un fichier php qui transmet des variables à ce swf.....

La méthode utilisé est:

echo "
        <object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"100%\" height=\"100%\">       
<param name=\"movie\" value=\"index.swf\" />
<param name=\"quality\" value=\"high\" />

<param name=\"FlashVars\" value=\"session=<?php echo $mavariable ?>\" />
<embed src=\"index.swf\" FlashVars=\"session=<?php echo $mavariable ?>\" quality=\"high\" pluginspage=\"
http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"100%\" height=\"100%\">
</embed>
              </object>
   ";

J'ai donc utilisé mon JS comme suit:

function RunFoo()
{
    document.write('<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"100%\" height=\"100%\">\n');
    document.write('<param name=\"movie\" value=\"index.swf\" />\n');
 document.write('<param name=\"quality\" value=\"high\" />\n');
 
 document.write('<param name=\"FlashVars\" value=\"session=<?php echo $mavariable ?>\" />\n');
 document.write('<embed src=\"index.swf\" FlashVars=\"session=<?php echo $mavariable ?>\" quality=\"high\" pluginspage=\"
http://www.macromedia.com/go/getflashplayer\
" type=\"application/x-shockwave-flash\" width=\"100%\" height=\"100%\" />\n');
 
 document.write('</embed>\n');
 document.write('</object>\n');
}

Sauf que mes variables n'arrivent pas au swf....

Je suppose que les symboles <> et ? sont en cause, mais je ne sais pas trop comment faire. j'ai essayé de mettre des \ devant les < et les > mais sans succès.

Quelqu'un aurait-il une solution?

vendredi 14 avril 2006 à 21:21:15 | Re : Faire passer des variables php à flash par javascript.....

Phil_Free

Salut,

je ne comprends pas ton session= ici:

value=\"session=<?php echo $mavariable ?>\"

C'est quoi ce session ?

je verrais plutôt:

value=\"<?php echo $mavariable ?>\"
ou
value=\"<?php $mavariable ?>\"


vendredi 14 avril 2006 à 22:30:27 | Re : Faire passer des variables php à flash par javascript.....

jacknikolson

Salut,

Le session= c'est pasque je passe une variable à flash que je récupère dans flash sous ce nom.

ensuite dans mon flash j'ai
if (session == "1") {
 gotoAndPlay(6);
}
vendredi 14 avril 2006 à 22:32:58 | Re : Faire passer des variables php à flash par javascript.....

jacknikolson

et j'ai fait le test, ma variable "session" dans flash prend la valeur de <?php echo $mavariable ?>
Donc c'est toute l'expression qui est envoyée et pas la valeur de la variable....
vendredi 14 avril 2006 à 22:52:10 | Re : Faire passer des variables php à flash par javascript.....

Phil_Free

Et avec:

value=\"<?php $mavariable ?>\"
samedi 15 avril 2006 à 00:07:08 | Re : Faire passer des variables php à flash par javascript.....

super_mamie

moi pour passer une valeur à flash en javascript je fais:

window.document.MonFlash.SetVariable("variable", "<?php echo $variable; ?>");

Il y a des trucs a changer dans la balise object du flash et la balise embed:

Pour la balise EMBED, c'est l'attribut name qui va identifier le swf; pour la balise OBJECT, c'est l'attribut id.
Pour Netscape qui utilise la balise EMBED il faut que l'attribut swLiveConnect soit à true.Il semblerait que pour certain Netscape notamment les version 6, l'id est indispensable sur la balise EMBED. Cela ne coûte rien de le mettre.

(tiré directement de zoneflashmx.free.fr
)

(par contre, je sais pas si ca a quelque chose a voir avec mon probleme d'arret du chargement de la page ici.)
samedi 15 avril 2006 à 05:22:46 | Re : Faire passer des variables php à flash par javascript.....

bultez

Membre Club

Bonjour,
   peut-on voir la page html/javascript générée et pas le php ?
   ( enfin le même extrait qu'ici, pas besoin de plus )
   on pourrait déterminer plus vite (?) d'où ça vient.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~

samedi 15 avril 2006 à 11:56:04 | Re : Faire passer des variables php à flash par javascript.....

jacknikolson

Salut,

 

Bon, j’ai changé un peu la méthode mais j’ai fini par réussir :

  1. Protection IE contre flash contournée (merci pol95 de flash.media-box.net)
  2. Passage de variables vers le swf.

 

Voici la méthode qui fonctionne (jusqu’à la prochaine mer.. de microsoft IE )

 

Dans le <head> je mets


<script src=\"test.js\" type=\"text/javascript\"></script>

***  attention, pour moi c’est dans des fichiers php, d’où les \ "  ***

 

A la racine de mon site, un fichier test.js

 

function RunFoo(swf, hauteur, largeur, couleur, nom, mavariable) {

            document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\""+hauteur+"\" height=\""+largeur+"\" id=\""+nom+"\" align=\"middle\">\n");

            document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" />\n");

            document.write("<param name=\"movie\" value=\""+swf+"\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\""+couleur+"\" /><param name=\"FlashVars\" value=\"session="+mavariable+"\" /><embed src=\""+swf+"\" FlashVars=\"session="+mavariable+"\" quality=\"high\" bgcolor=\""+couleur+"\" width=\""+hauteur+"\" height=\""+largeur+"\" name=\""+nom+"\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n");

            document.write("</object>\n");

}

 

Là où je veux appeler mon swf :

<script type=\"text/javascript\">RunFoo(\"index.swf\", \"100%\", \"100%\", \"#000000\", \"index\", \"$mavariable\");</script>

 

Ainsi, $mavariable générée plus haut dans le php ($mavariable="arrivee") est reprise sous le nom session (<param name=\"FlashVars\" value=\"session="+mavariable+"\" />) et est bien transmise à mon swf .

 

Ça marche correctement

 

Merci à tous pour les conseils divers et variés.

PS (tout ça pour que sur mon site [ Lien ] l'intro flash ne soit lue qu'une seule fois et pas à chaque retour sur l'index....)



Cette discussion est classée dans : flash, http, swf, document, write


Répondre à ce message

Sujets en rapport avec ce message

Fini les document.write ! [ par okin7 ] J'ai écris une librairie qui reprend le principe des templates PHP mais en Javascript. Pour complètement séparer le code du HTML. Donnez moi votre avi popup et swf [ par ptinul ] voici le script que j'utilise. il marche trés bien pour les images mais je n'arrive pas a lancer des fichier SWF. La balise IMG normalement permet ce Probléme avec l'intro flash de mon site [ par masta64 ] Hello tt le monde !!!je vous appel a l'aide car g un ptit probleme sur la page d'intro de mon site,mon anim flash ne veut pas s'afficher !!!Pourquoi ? Un JavaScript dans un document.write [ par fika2 ] Bonjour à tous! Je vous soumets mon souci : J'essaie de créer une fonction qui, quand je lui envoie le n° de mon swf à afficher, écrit le code (en ja 2 scripts sur la même page, le 1er ne fonctionne plus [ par Mobigirl ] Bonjouuuuuuurrr à tous les fanas de javascript :-)Foilà, je fais un site amateur pour une asbl qui s'occupe de mosaïque.J'ai un script slideshow qui f script bon de commande???? [ par santis87 ] Bonjour j'utilise izispot pour la création de mon site et j'ai trouvé un script que j'ai changer mais je suis bloqué pour lui ajouter mon adresse mail horloge flash [ par dj4u ] Bonjour, je ne connais rien au script je voulais savoir si il est possible de modifier le code ci-desous pour faire un décalage horaire je ne veut pas script d'affichage de video [ par Milo1986 ] Bonjour,le support de dlink m'a fourni ce cscript pour récupérer la video de ma webcam ip dcs 2120 mais je n'arrive ps à afficher l'image : je doit ch Boucle de temporisation dans une boucle son [ par Debutant39 ] Bonjour. Voici un script que devrait me permettre de jouer 3 fois un son mais pour qu'il ne soit pas mitraillé, il me faut mettre une boucle de tempor Position d'image [ par TOONIE ] <span lang="PT" style="ms


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales