本文共 1910 字,大约阅读时间需要 6 分钟。
在flex组件中嵌入html代码,可以利用flex iframe。这个在很多时候会用到的,有时候flex必须得这样做,如果你不这样做还真不行……
flex而且可以和html进行JavaScript交互操作,flex调用到html中的JavaScript方法以及获取调用后的返回值。
1、flex iframe下载地址:
下载完成后目录如下
asdoc就是文档doc了
bin有需要用到的flex库 swc
examples就是示例
sources源代码
欢迎关注我的博客:
2、将bin目录中的swc引入到你的flex工程中,并加入代码片段如下
xmlns:flexiframe="http://code.google.com/p/flex-iframe/"horizontalAlign="center" verticalAlign="middle" xmlns:s="library://ns.adobe.com/flex/spark">import mx.controls.Alert;protected function sayHelloHandler(event:MouseEvent):void {// 调用当前iframe嵌入页面中的sayHello 的JavaScript方法iFrameBySource.callIFrameFunction("sayHello");}protected function sayHandler(event:MouseEvent):void {// 调用当前iframe嵌入页面中的say的JavaScript方法,并传入一个参数iFrameBySource.callIFrameFunction("say", ["hello world!"]);}protected function sayHiHandler(event:MouseEvent):void {// 调用当前iframe嵌入页面中的sayHi的JavaScript方法,并传入2个参数。sayHi方法会返回一个字符串,最后一个回调就是输出值的函数iFrameBySource.callIFrameFunction("sayHi", ["hello world", "李四"], function (data:*): void {Alert.show(data);});}]]>About AboutSimple HTML Test application. This test app loads a page of html locally.
Credits
IFrame.as is based on the work of
Christophe Coenraets Brian Deitte ]]>overlayDetection="true" />
frame.html 页面内容
frame.html // 无参数function sayHello() {alert("hello......");}// 1个参数function say(message) {alert("your say: " + message);}// 多个参数 并返回值function sayHi(message, name) {alert("your say: " + message + ", name: " + name);return "your say: " + message + ", name: " + name;}flex frame example html page!
要注意的是:你的flex项目工程需要发表到http的应用服务器(如tomcat、jboss、iis)这些服务器中,用http请求方式才能调用到页面内容和JavaScript方法。如果不发布到应用服务器中,那样只能在iframe中嵌套远程的http请求的页面,本地静态页面是无法显示的。