Flex External Interface – Intégrer du HTML et un formulaire Flex
Dans certains cas, vous voudrez afficher la majorité d'un formulaire en HTML mais vous voulez aussi utiliser des composants Flex pour un ou plusieurs éléments du formulaire. Par exemple vous voulez utiliser des sliders, des ColorPicker, ou comme dans cet exemple, un calendrier.
Dans cet exemple simple, vous allez créer un formulaire HTML simple avec une CheckBox et une petite application Flex embarquée. L'application Flex consiste en un composant DateChooser. La CheckBox déactive ou active simplement le DateChooser. De plus, cela met en évidence la nature synchrone d'ExternalInterface: l'application Flex fait une requête à la page HTML pour avoir un tableau des dates désactivées, qui seront désactivées dans le DateChooser.
Flex External Interface – Changer le statut du Navigateur (exemple JS)
ExternalInterface peut sembler un peu complexe jusqu'à ce que l'on voit un ou deux exemples. Cet exemple vous permettra d'y voir plus clair. Cette application permet simplement à une application Flex d'appeler un JavaScript dans le navigateur qui contient le SWF pour changer le message de la barre de statut quand l'utilisateur passe au dessus (rollover) d'un bouton Flex.
Firefox désactive l'accès JavaScript à window.status par défaut, c'est pourquoi cet exemple peut ne pas fonctionner avec la configuration par défaut de Firefox.
Flex External Interface – Utilisation générale d'ExternalInterface
La classe flash.external.ExernalInterface définit deux méthodes static, appelées call() et addCallback(), qui permettent la communication Flex vers host-application et host-application vers Flex respectivement.
La méthode call() vous permet d'appeler une méthode de l'application sur laquelle se trouve l'application Flex (host application) en lui passant le nom d'une méthode. Si l'host-application attend des paramètres, vous pouvez les passer dans la méthode call() après le nom de la méthode à appeler. Par exemple, le code suivant appelle la fonction JavaScript alert() quand l'application Flex est lancée depuis un navigateur web:
ExternalInterface.call("alert", "Message de test depuis Flex");
La méthode call() marche de manière synchrone. Par exemple, la fonction JavaScript confirm() crée une nouvelle boîte de dialogue avec les boutons OK et Cancel. Cette boite de dialogue confirm met l'application en pause jusqu'à ce que l'utilisateur clique sur un bouton, et retourne true (OK) ou false (Cancel).
var option:Boolean = ExternalInterface.call("confirm", "Voulez vous vraiment fermer l'application?");
Bien sûr, les fonctions de l'host application peuvent être des fonctions personnalisées.





