Trucsweb.com

Trucsweb.com

Flash

Manipuler un Flash avec les langages script

RDFFav

Fonction Flash FSCommand - Communiquer avec des applications Flash

FScommand() est le nom d’une fonction en Flash qui permet de communiquer avec des applications Flash, c’est-à-dire des programmes qui peuvent exécuter un Flash. Par exemple, le lecteur Flash, projector, les modules externes (plug-in) de navigateurs, une application Visual Basic ou encore le Lingo.flash méthodes methods fscommands commandes fscommand fs command LiveConnect id name embed identifiant contrôler javascript activex fullscreen allowscale showmenu exec quit vbscript visual basic communiquer flash to flash lecteur projectorFonction Flash FSCommand - Communiquer avec des applications Flash

  • · Niveau : INTERMÉDIAIRE
  • · Compatibilité : Flash 3+ IE PC Netscape MAC/PC

FScommand() est le nom d’une fonction en Flash qui permet de communiquer avec des applications Flash, c’est-à-dire des programmes qui peuvent exécuter un Flash. Par exemple, le lecteur Flash, projector, les modules externes (plug-in) de navigateurs, une application Visual Basic ou encore le Lingo. Bien que très puissant cette technique n’est pas tellement compatible avec les navigateurs en raison de l’utilisation des ActiveX pour Internet Explorer ou de LiveConnect pour Netscape.

Navigateurs et OS compatibles

  • Netscape 3 ou 4 sous win95/98/nt/2000/Mac
  • Internet explorer 3 et plus sous win95/98/nt/2000

Navigateurs et OS incompatibles

  • Win 3.1 / Mac 68k
  • Internet Explorer sous Macintosh
  • Netscape 6

C’est pourquoi je vous conseil d’utiliser les autres méthodes Flash (Flash methods) qui peuvent faire les mêmes opérations tout en étant beaucoup plus compatible. Voir le tutoriel sur les "Flash methods".

 

Communication entre le Flash et le Javascript
Quand un Flash envoie une commande FS au navigateur, celui-ci cherche la fonction Javascript (ou VBScript sous IE) correspondant au Flash. C’est ici la grande différence avec les autres méthodes Flash appelé par le "getURL". En effet, une commande FS n’exécute qu’une seule fonction Javascript spécifique au Flash appelent. Le nom de cette fonction doit avoir le nom ou l’identifiant (ID) du Flash imbriqué dans le document HTML. Par exemple, si l’identifiant de votre Flash est "monFlash" la fonction Javascript devra se nommer "monFlash_DoFSCommand".

 

Imbriquer un Flash et lui attribuer un identifiant.
L’imbrication se fait exactement comme à l’habitude quoique vous devrez apporter une attention toute particulière au nom ou ID de chaque Flash de façon à ce qu’une partie du nom de la fonction Javascript porte l’identifiant. Dans l’objet pour IE c’est le paramètre ID et dans l’objet (embed) Netscape c’est le paramètre name. Pour mon exemple j’ai donné les noms suivants: monFlash. Attention de bien la valeur du paramètre swLiveConnect à "true", indispensable à Netscape.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" ID="monFlash" width="100" height="100">
  <param name="movie" value="A.swf">
  <param name="loop" value="false">
  <param name="quality" value="best">
  <param name="bgcolor" value="#d6d3ce">
  <embed src="A.swf" name="monFlash" loop="false" quality="best" bgcolor="#d6d3ce" width="100" height="100" swLiveConnect="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
  </embed>
</object>

 

Créer la fonction FScommand en Javascript
En plus de devoir avoir comme nom l’identifiant du Flash, cette fonction particulière doit toujours récupérer deux paramètres. La commande à exécuter ainsi qu’une valeur s’il y a lieu. Ces deux paramètres seront envoyés à la fonction par l’action FScommand du Flash. La commande est simplement un identifiant qui sera testé par la fonction Javascript pour ensuite exécuter le script de votre choix.

<script type="text/javascript" language="javascript">
<!-- Debut
function monFlash_DoFSCommand(command, args) {
  if ( command == "bienvenue" ) {
    alert(arg);
  }
}
//-->
</script>

Résultat, une boîte de dialogue (alertBox) affichera le message "Bienvenue sur mon site Web". Pour que cet exemple fonctionne, un Flash dont l’identifiant est "monFlash" doit être imbriqué dans le même document HTML. Le Flash doit faire l’action FScommand suivante:

fscommand("bienvenue", "Bienvenue sur mon site Web"

Ajouter une action FScommand dans un Flash
L’action FScommand peut être ajoutée sur un "Frame" ou sur un bouton. Par exemple sur l’instance d’un bouton:

on (release) {
fscommand("bienvenue", "Bienvenue sur mon site Web");
}

FScommand action

Noter que la fonction Javascript peut exécuter tous scripts Javascript ou encore une autre méthode Flash.

 

Code complet avec VBScript pour compatibilité IE

<script type="text/javascript" language="javascript">
<!-- Debut
function monFlash_DoFSCommand(command, args) {
  if ( command == "bienvenue" ) {
    alert(arg);
  }
}

if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
  document.write(’<script language=VBScript\> \n’);
  document.write(’on error resume next \n’);
  document.write(’Sub monFlash_FSCommand(ByVal command, ByVal args)\n’);
  document.write(’ call monFlash_DoFSCommand(command, args)\n’);
  document.write(’end sub\n’);
  document.write(’</script\> \n’);
}
//-->
</script>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" ID="monFlash" width="100" height="100">
  <param name="movie" value="A.swf">
  <param name="loop" value="false">
  <param name="quality" value="best">
  <param name="bgcolor" value="#d6d3ce">
  <embed src="A.swf" name="monFlash" loop="false" quality="best" bgcolor="#d6d3ce" width="100" height="100" swLiveConnect="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
  </embed>
</object>

 

FScommand réservés pour les Projecteurs
Vous pouvez utiliser les FScommand dans un "projector" simplement en ajoutant l’action FScommand et en donnant la commande et la valeur ou l’argument. Ces commandes réservées n’ont pas besoin de fonction Javascript. Voici la liste des commandes réservées.

  • Quit : Ferme le projector
  • Fullscreen : Plein écran
  • AllowScale : Permet la redimension
  • Showmenu : Permet le menu (clic droit)
  • Exec : Exécute un programme

 

Django (Oznog) Blais
Dernière mise à jour :

Commentaires

    Ajouter un commentaire
    Votre adresse de courriel ne sera pas publiée. * L'astérisque indique les champs obligatoires.
    Votre évaluation du tutoriel

           Visites : 5948 - Pages vues : 38068
    X

    Trucsweb.com Connexion

    Connexion

    X

    Trucsweb.com Mot de passe perdu

    Connexion

    X

    Trucsweb.com Conditions générales

    Conditions

    Responsabilité

    La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

    Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

    Droit applicable et juridiction compétente

    Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

    X

    Trucsweb.com Trucsweb

    X

    Trucsweb.com Glossaire

    X

    Trucsweb.com Trucsweb

    X

    Trucsweb.com Trucsweb

    Conditions

    Aucun message!

    Merci.

    X
    Aucun message!
    X

    Trucsweb.com Créer un compte

    Créer un compte

    .
    @