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 habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    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 : 43
    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,

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

    La compilation avec MTASC ne dérange pas le fonctionnement.

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    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
    Points : 3 189
    Points
    3 189

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    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 habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    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, 23h53
  2. communication entre javascript et bdd
    Par loooool92 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/06/2009, 15h57
  3. [PHP-JS] Communication entre Php et Javascript
    Par tlardoux dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2007, 14h39
  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, 18h34
  5. Réponses: 2
    Dernier message: 08/08/2005, 22h30

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