SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Recuperare l’userAgent in una webapp Flex

Grazie all’uso della funzione ExternalInterface.call() di Flex/Flash Builder è possibile recuperare in modo semplice alcuni parametri del browser. Ad esempio, per recuperare l’userAgent, basterà inserire nell’applicazione web il seguente codice:

var userAgent:String = ExternalInterface.call("navigator.userAgent.toString");

e la variabile userAgent sarà popolata con l’userAgent del “visitatore”.

enjoy

Recuperare in Flex un parametro passato all’url

E’ possibile recuperare con Flex/Flash Builder in un’applicazione web, un parametro passato all’url della pagina che contiene l’applicazione.
Ipotizziamo che l’url dell’applicazione sia:
www.smsoft.it/app.html?parametro=ciao

e che l’applicazione contenga una casella di testo chiamata “txt” in cui inserire il valore di “parametro“, dovremo inserire nell’applicazione il seguente codice:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                           xmlns:s="library://ns.adobe.com/flex/spark"
                           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"
                           >
        <fx:Script>
                <![CDATA[
                private function init():void {
               
                //      inizio recupero parametro da url
                var params:Object = getURLParameters();
                txt.text = params['parametro'];
                // fine recupero parametro da url
               
                }

                private function getURLParameters():Object
                {
                        var result:URLVariables = new URLVariables();
                        try
                        {
                                if (ExternalInterface.available)
                                {
                                        var fullUrl:String = ExternalInterface.call("eval","document.location.href");
                                        var paramStr:String = fullUrl.split("?")[1];
                                        if (paramStr != null)
                                        {
                                                result.decode(paramStr);
                                        }
                                }
                        }
                        catch (error:Error)
                        {
                                Alert.show(error.toString());
                        }
                               
                        return result;
                }      
                       
                ]]>
        </fx:Script>

        <s:TextInput x="183" y="65"  name="txt" id="txt"/>
</s:Application>

enjoy

Page optimized by WP Minify WordPress Plugin