Forum-webmaster
Webdesign / graphisme => Flash / Director => Message commencé par: NuDD le le 28-11-2003 a 12:51:34

Titre: Echange d'information entre flash et Javascript
Posté par: NuDD le le 28-11-2003 a 12:51:34

Bonjours,
Quelqu'un saurait il comment faire pour echanger des informations entre flash et Javascript?? J'ais cherche la solution sur le net mais je n'ais pas du chercher aux bon endroits :-\...
Merci et @+

Titre: Re:Echange d'information entre flash et Javascript
Posté par: eRom le le 28-11-2003 a 17:05:18

Bonjour,

Imaginons une fonction Javascript dans ta page HMTL

Code:

<SCRIPT>
function traiterVariable(mesvar) {
.........
.........
}
</SCRIPT>


Et bien pour appeler cette fonction depuis Flash, en passant bien entendu les paramètres qui vont bien, tu fais :

Code:

bouton.onPress = function() {
getURL ("javascript:traiterVariable(lavariable)");
}


Voili voilà une première piste...
Sinon dans certains cas, tu peux directement faire ton code javascript dans Flash...ça dépend du traitement que tu veux faire..

@+ et bon courage

Titre: Re:Echange d'information entre flash et Javascript
Posté par: NuDD le le 01-12-2003 a 18:17:03

Merci, et dans l'autre sens?? Ca fonctionne comment entre JavaScript et Flash..

Titre: Re:Echange d'information entre flash et Javascript
Posté par: eRom le le 02-12-2003 a 09:53:26

Bonjour bonjour... ;)

Effectivement, je n'ai pas donner les infos dans les 2 sens, désolé.
Alors pour communiquer entre JavaScript et Flash...eplications avec un petit exemple...

1. Création du Flash

On va faire simple pour l'exemple, le tout étant de comprendre le principe. ;)
Fichier "JavaToFlash.fla"

Tu places un "Dynamique Text" sur ta scène Flash.
Tu nommes sa variable (et non pas son instance), par exemple : varFlashText
Tu enregistres le tout.
Ensuite tu publies ton Flash en selectionnant l'export swf+html.

Tu va donc avoir un fichier JavaToFlash.swf et un fichier JavaToFlash.html
Tu peux fermer Flash.

Maintenant passons à la partie Html / Javascript


2. Création du Html/JavaScript

Tu ouvres JavaToFlash.html avec ton editeur préféré. Perso j'utilise Dreamweaver Mx pour les pages Html.
Là, tu regardes la partie qui concerne l'objet Flash.


Code:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="400" height="250" id="JavaToFlash" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="JavaToFlash.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="JavaToFlash.swf" quality="high" bgcolor="#ffffff" width="400" height="250" name="JavaToFlash" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>


Les 2 parties importantes de cet objet :
- A ) la partie "object" :
Le plus important est de nommer l'id de l'objet, c'est à dire ici : id="JavaToFlash
- B ) la partie "embed" :
De même, il faut nommer la référence à l'objet Flash : name="JavaToFlash"
En plus, il faut rajouter un ptit truc, que ne met pas Flash lors de la publication : swLiveConnect="true"

Donc ton object devrait ressembler à ceci :

Code:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="400" height="250" id="JavaToFlash" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="JavaToFlash.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="JavaToFlash.swf" quality="high" bgcolor="#ffffff" width="400" height="250" name="JavaToFlash" swLiveConnect="true" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>


Pour tester tu créé un textfield tout simple :

Code:

<P><input type="text" name="javaText" maxlength="45" onChange="passageVariable(this)"></P>


Reste plus qu'à coder la fonction passageVariable
Entre les balises <HEAD> et </HEAD> tu places :

Code:

<SCRIPT LANGUAGE=JavaScript>
<!--
function passageVariable(args){
var javaText= args.value;
window.document.JavaToFlash.SetVariable("varFlashText", javaText);
}
//-->
</SCRIPT>


On remarque ici l'importance d'avoir nommé correctement l'objet Flash, avec son id= et son name= .
De cette façon, on peut y faire référence en Javascript.

En testant, Flash prendra la valeur du champ texte html, dès que celui-ci aura changé quand il aura perdu le focus.
Voili voilà, exemple testé biensur, tout est Ok, sauf peut-être une erreur de frappe.....

Bon courage et bonne journée....

Titre: Re:Echange d'information entre flash et Javascript
Posté par: NuDD le le 02-12-2003 a 17:37:57

Merci beaucoup, je vais tester cela sans tarder.

@ +


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.