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.
Cette application utilise un simple document MXML et une page HTML. Le document MXML doit contenir ce code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function rollOverHandler(event:MouseEvent):void{
ExternalInterface.call("setStatus",event.currentTarget.label);
}
]]>
</mx:Script>
<mx:VBox>
<mx:Button label="Bouton A" rollOver="rollOverHandler(event)"/>
<mx:Button label="Bouton B" rollOver="rollOverHandler(event)"/>
<mx:Button label="Bouton C" rollOver="rollOverHandler(event)"/>
<mx:Button label="Bouton D" rollOver="rollOverHandler(event)"/>
</mx:VBox>
</mx:Application>
Ce document MXML crée 4 boutons. Chaque bouton a un label différent. En utilisant le handler sur l'événement rollOver, chaque bouton notifie la méthode rollOverHandler() quand l'utilisateur passe au dessus du bouton. La méthode rollOverHandler() utilise ExternalInterface.call() pour appeler la méthode setStatus qui est définit en JavaScript dans la page HTML qui contient le SWF embed.
La page HTML devrait contenir le template HTML standard pour embarquer une application Flex. En plus, elle doit définir la fonction JavaScript qui suit:
<script language="JavaScript" type="text/javascript">
<!--
function setStatus(value){
window.status = value;
}
// -->
</script>
Lorsque vous testez l'application, le message de la barre d'état du navigateur quand vous passez sur les boutons de l'application Flex.
Articles similaires
- Flex Tips – Connaître le navigateur utilisé par l'application Flex (IE, Firefox, etc…)
- Flex Tips – Embarquer un fichier JavaScript dans un SWF (Embed)
- Flex External Interface – Intégrer du HTML et un formulaire Flex
- Flex PopUp – Supprimer une fenêtre PopUp créée avec le PopUpManager
- Flex PopUp – Savoir si une PopUp est déjà ouvert avec la propriété isPopUp





