<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/03/11/returning-values-from-javascript-in-your-flex-applications-using-the-externalinterface-api/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white" viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
            import mx.utils.ObjectUtil;

            private function callJavaScript():void {
                var keys:Array = "appCodeName,appName,appVersion,cookieEnabled,language,platform,systemLanguage,userAgent,userLanguage".split(",");
                var arr:Array = ExternalInterface.call("getNavigatorObject", keys);
                dataGrid.dataProvider = arr;
            }
        ]]>
    </mx:Script>

    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Get browser navigator object"
                click="callJavaScript();" />
    </mx:ApplicationControlBar>

    <mx:DataGrid id="dataGrid"
            variableRowHeight="true"
            width="100%"
            height="100%" >
        <mx:columns>
            <mx:DataGridColumn dataField="key"
                    width="120" />
            <mx:DataGridColumn dataField="value"
                    wordWrap="true" />
        </mx:columns>
    </mx:DataGrid>

</mx:Application>