flash与js交互

JS调用AS的方法(实例演示) 

FLASH中代码://导入包 
import flash.external.*; 
//提供JS访问的函数名 
var _method:String = "say"; 
//指定本地函数中this变量的作用域,可设置为null留空 
var e_area:Object = null; 
//AS内部函数名 
var method:Function = say; 
//将函数注册到容器列表 
var wasSuccessful:Boolean = ExternalInterface.addCallback(_method, e_area, method); 
//查看注册是否成功 
if(wasSuccessful){ 
result_txt.text = "函数注册成功"; 

//本地的函数 
function say(txt:String) { 
result_txt.text = txt; 

Html中代码:<div> 
<form> 
<input type="button" οnclick="callExternalInterface()" value="JS调用AS方法" /> 
</form> 
<script> 
function callExternalInterface() { 
thisMovie("demo").say("Hello,World"); 

//浏览器兼容访问DOM 
function thisMovie(movieName) { 
if (navigator.appName.indexOf("Microsoft") != -1) { 
return window[movieName] 

else { 
return document[movieName] 


</script> 
</div> 
其中红色代码是核心代码,其作用原理是AS端通过addCallback函数把AS内部定义的方法注册为可从容器中调用,允许自定义另外一个方法名供 JS来调用这个方法,函数调用成功返回true,失败返回flase,在此例中通过wasSuccessful变量来判断函数是否注册成功。函数注册成功以后,JS可以通过DOM来访问SWF对象,然后直接调用预定义的方法即可。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值