当前位置: 代码网 > it编程>网页制作>Flex > js调用Flex中的方法并向flex中传参及flex调用js示例

js调用Flex中的方法并向flex中传参及flex调用js示例

2024年05月18日 Flex 我要评论
首先,有了一个swf文件,test.swf,同时也有一个自动生成的html文件,test.html。 然后,在另外一个文件,test.jsp中,通过iframe,引入了test.html,即引入了sw
首先,有了一个swf文件,test.swf,同时也有一个自动生成的html文件,test.html。
然后,在另外一个文件,test.jsp中,通过iframe,引入了test.html,即引入了swf。

现在想要在test.jsp中,向flex传参,并调用flex中的方法,我采用的方法是:
首先,在jsp中写一个调用flex的方法,如下

这时,需要建立一个打开他们之间通信的桥梁了,在flex的初始化时,要使用
externalinterface.addcallback("showparams",showparams); //前者是它暴露给js的方法名,后者是它在flex中的方法名。
这样,理论上就可以实现调用了。将initswf方法放在页面的onload方法中即可实现。

但是产生一个问题,如果flex在页面中没有加载成功时,会报找不到对象的错误。因此,需要我们在确保swf文件加载完成后,再调用swf中的方法。
但监听它加载完成显然有点浪费感情,于是,我们采用的策略是,等它加载完,再调用js的initswf方法,即可将环节全部打通。

因此,在flex的初始化时,加入
//调用载入页面的initswf方法
externalinterface.call("initswf"); //要将它放在注册对外方法之后进行。
大功告成。

有需要注意的地方:
在flex当中调用js的方法,这个方法只能写在引入swf的文件中,但我在jsp中引入了html,所以只能是在html中的js,是调用父页面的js方法。
而在jsp中对于swf文件的引用,要借助window.frames["rightframe"]
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com