Flash已经提供了ExternalInterface接口与JavaScript通信,ExternalInterface有两个方法,call和addCallback,call的作用是让Flash调用js里的方法,addCallback是用来注册flash函数让js调用。下面是官方文档对call和addCallback的说明:
利用 ActionScript,可以在 HTML 页上执行以下操作:
调用任何 JavaScript 函数。
传递任意数量、具有任意名称的参数。
传递各种数据类型(Boolean、Number、String 等等)。
接收来自 JavaScript 函数的返回值。
通过在 HTML 页上使用 JavaScript,可以:
调用 ActionScript 函数。
使用标准的函数调用表示法传递参数。
将值返回给 JavaScript 函数。
在非IE浏览器里,flash提供的方法是加在embed上的,我们要得到object下的embed对象,调用embed上的方法才会成功!
官方示例是采用下面方法获取flash对象的:
function getFlashMovieObject(movieName){
if (window.document[movieName]){
return window.document[movieName];
}else if (navigator.appName.indexOf("Microsoft")==-1){
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}else{
return document.getElementById(movieName);
}
}
本文详细介绍了Flash如何通过ExternalInterface接口与JavaScript进行双向通信。包括如何调用JS函数、传递参数及接收返回值,同时也解释了如何从JS调用ActionScript函数,并提供了非IE浏览器下获取Flash对象的方法。

1366

被折叠的 条评论
为什么被折叠?



