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

Dynamique Discussion :

Soucis de communication entre JavaScript et ActionScript


Sujet :

Dynamique

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut Soucis de communication entre JavaScript et ActionScript
    Bonjour,
    J'essai de faire communiquer des éléments html via javascript avec mon flash, pour information j'utilise MTASC.

    Tout d'abord le code actionScript
    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
    class Template
    {
    	static var app:Template;
    	private var _playerText:MovieClip;
     
    	private function Template()
    	{
    		Stage.scaleMode = "noscale";
    		Stage.align = "TL";
    		this._initText();
    	}
    	static function main():Void
    	{
    		app = new Template();
     
    	}
    	private function _initText()
    	{
    		_root.createEmptyMovieClip("my_mc", _root.getNextHighestDepth()); 
    		_root.my_mc.beginFill(0x339966);
    		_root.my_mc.lineTo(0, Stage.height);
    		_root.my_mc.lineTo(Stage.width, Stage.height);
    		_root.my_mc.lineTo(Stage.width, 0);
    		_root.my_mc.endFill();
    		_root.my_mc._width = Stage.width;
    		_root.my_mc._height = Stage.height;
     
    		_root.my_mc.createTextField("my_tf",_root.getNextHighestDepth(),0,0,150,50);
    		_root.my_mc.my_tf.text = "Hello World !";
    		_root.my_mc.my_tf.selectable = false;
    	}
     
     
    	public function set jsBonjour(param:String)
    	{
    		_root.my_mc.my_tf.text = "Bonjour !";
    	}
     
    }
    Ensuite dans mon html il y a ce code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function javascriptVersFlash() {
    				//document.monFlash.SetVariable("_root.my_mc.my_tf.text", "Bonjour !");
    				document.monFlash.SetVariable("jsBonjour","");
    			}

    Dans le code javascript vous pouvez voir un commentaire, c'est à ce moment là que ça marche, dans le cas où j'essai de faire jsBonjour qui est la fonction, il ne se passe rien !

    J'ai pourtant essayé, _root.jsBonjour, /:jsBonjour, root:jsBonjour, player:jsBonjour et bien d'autres, malheuresement je ne trouve aucune doc pour faire de la sorte, et sur http://flv-player.net le programmeur qui a fait ce lecteur utilise un SetVariable, et grâce à cela il exécute des fonctions.


    Que dois-je faire ? quelqu'un aurait-il une idée ?


    Merci d'avance pour vos réponses.

  2. #2
    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 : 44
    Localisation : France

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

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

    Pour une communication efficace entre javascript et flash, utilise la classe as ExternalInterface.

    La compilation avec MTASC ne dérange pas le fonctionnement.
    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

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Bonjour,

    J'ai essayé mais sans résultat, après c'est au niveau de javascript que je ne peux pas faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("monFlash").jsBonjour();
    et pourtant j'ai mis le import ainsi que

    Code ActionScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var methodName:String = "jsBonjour";
    var instance:Object = null;
    ExternalInterface.addCallback(methodName, instance, jsBonjour);
    dans le Template, je suis un peu perdu, quoi que je fasse il ne se passe rien :/

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    J'ai testé mais en vain,

    document.monFlash.jsBonjour is not a function
    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
     
    import flash.external.*;
    class Template
    {
    	static var app:Template;
    	private var _playerText:MovieClip;
     
     
    	private function Template()
    	{
    		ExternalInterface.addCallback("jsBonjour", jsBonjour);
    		Stage.scaleMode = "noscale";
    		Stage.align = "TL";
    		this._initText();
    	}
    	static function main():Void
    	{
    		app = new Template();
     
    	}
    	private function _initText()
    	{
    		_root.createEmptyMovieClip("my_mc", _root.getNextHighestDepth()); 
    		_root.my_mc.beginFill(0x339966);
    		_root.my_mc.lineTo(0, Stage.height);
    		_root.my_mc.lineTo(Stage.width, Stage.height);
    		_root.my_mc.lineTo(Stage.width, 0);
    		_root.my_mc.endFill();
    		_root.my_mc._width = Stage.width;
    		_root.my_mc._height = Stage.height;
     
    		_root.my_mc.createTextField("my_tf",_root.getNextHighestDepth(),0,0,150,50);
    		_root.my_mc.my_tf.text = "Hello World !";
    		_root.my_mc.my_tf.selectable = false;
     
    	}
     
     
    	private function jsBonjour()
    	{
    		_root.my_mc.my_tf.text = "Bonjour !";
    	}
     
    }

    Aurais-je mal placé des informations ?

    Merci

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Je viens tout juste de trouver la réponse grâce au programmeur d'un lecteur flash

    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
    class Template
    {
    	static var app:Template;
    	private var _playerText:MovieClip;
     
     
    	private function Template()
    	{
    		Stage.scaleMode = "noscale";
    		Stage.align = "TL";
    		this._initText();
    	}
    	static function main():Void
    	{
    		_root.app = new Template();
     
    	}
    	private function _initText()
    	{
    		_root.createEmptyMovieClip("my_mc", _root.getNextHighestDepth()); 
    		_root.my_mc.beginFill(0x339966);
    		_root.my_mc.lineTo(0, Stage.height);
    		_root.my_mc.lineTo(Stage.width, Stage.height);
    		_root.my_mc.lineTo(Stage.width, 0);
    		_root.my_mc.endFill();
    		_root.my_mc._width = Stage.width;
    		_root.my_mc._height = Stage.height;
     
    		_root.my_mc.createTextField("my_tf",_root.getNextHighestDepth(),0,0,150,50);
    		_root.my_mc.my_tf.text = "Hello World !";
    		_root.my_mc.my_tf.selectable = false;
     
    	}
     
    	public function set jsBonjour(n:String)
    	{
    		_root.my_mc.my_tf.text = "Bonjour !";
    	}
     
     
    }

    il me suffit ensuite de faire

    document.monFlash.SetVariable("app:jsBonjour","");

    et la fonction est à ce moment là appelé

    Merci de vos réponses

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/07/2009, 22h53
  2. communication entre javascript et bdd
    Par loooool92 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/06/2009, 14h57
  3. [PHP-JS] Communication entre Php et Javascript
    Par tlardoux dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2007, 13h39
  4. [PHP-JS] communication entre javascript et php
    Par loukili81 dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 15/06/2006, 17h34
  5. Réponses: 2
    Dernier message: 08/08/2005, 21h30

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