您的位置:首页 > Web前端 > JavaScript

Flex应用中利用ExternalInterface API取得JavaScript返回值的例子

2009-11-11 11:52 495 查看
在前面的Flex中利用ExternalInterface的API调用JavaScript函数的例子中,我们了解到了Flex应用中
调用JavaScript函数。

接下来的例子展示了Flex应用中如何调用JavaScript函数并且使用返回值。

下面是具体的例子以及源代码:
Download: main.mxml

<?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">

<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>

下面是JavaScript文件(/src/externalInterface.js):
Download: externalInterface.js

// JavaScript
/** http://blog.flexexamples.com/2008/03/11/returning-values-from-javascript-in-your-flex-applications-using-the-externalinterface-api/ */
function getNavigatorObject(keys) {
var arr = [];
var i;
var len = keys.length;
var key;
var value;
for (i=0; i<len; i++) {
key = keys[i];
value = navigator[key];
arr.push({key:key, value:value});
}

return arr;
}

下面是HTML文件中需要添加的内容(/html-template/index.template.html):
Download: index.template.html

<head>
...
<script language="JavaScript" src="externalInterface.js"></script>
</head>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐