Hello,
Mon application Flex doit pouvoir être appelée à partir d'autres pages Web et en lui passant des paramètres. Je dois donc récupérer les queryString de l'url situées dans la barre d'adresse du browser.
Après avoir potassé le sujet sur le Web, je dois donc utiliser la class ExternalInterface pour récupérer l'url de la page courrante qui hoste l'appli Flex (une chance que le Javascript existe hein...).
Si j'utilise cette syntaxe:
Nickel, j'obtiens bien un alert popup Javascript avec l'url courrante dans ma page Web.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var currentBrowserUrl:String= ExternalInterface.call("function toto(){alert(window.location.href);}");
Mais si j'utilise cette syntaxe:
Je n'arrive jamais à récupérer l'url dans mon Alert.show, c'est null ou vide. Que je caste le tout comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var currentBrowserUrl:String= ExternalInterface.call("function toto(){return window.location.href;}"); Alert.show(currentBrowserUrl);
Ca ne change rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var currentBrowserUrl:String= String(ExternalInterface.call("function toto(){return window.location.href;}")); Alert.show(currentBrowserUrl);
Idem avec cette syntaxe:
Pas moyen dans mon Alert.show(currentBrowserUrl); d'afficher coucou.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var currentBrowserUrl:String=ExternalInterface.call("function toto(){return 'coucou';}");
Au départ je me suis dis que c'est lié à la propriété allowScriptAccess="sameDomain" côté tag Html, mais même en mettant cette propriété en always, ça ne change rien.
Une idée car de mon côté je bloque, il n'y a pas 36 manières d'écrire la syntaxe et ça semble très bien fonctionner chez les autres.
J'utilise Flex Builder 2.
D'avance merci,
Pizza
Partager