在Flash中使用ExternalInterface
发布时间:2020-12-15 19:48:09 所属栏目:百科 来源:网络整理
导读:我正在尝试编辑一些flash以进行外部javascript函数调用,但没有成功.这是我的actionscript 2.0代码: //testing external .js callsimport flash.external.ExternalInterface;//attempting to make external js callExternalInterface.call("createPlaylist",
|
我正在尝试编辑一些flash以进行外部javascript函数调用,但没有成功.这是我的actionscript 2.0代码:
//testing external .js calls
import flash.external.ExternalInterface;
//attempting to make external js call
ExternalInterface.call("createPlaylist","It's my Life!");
这是我的javascript; function createPlaylist(mess){
alert("called createPlaylist: " + mess);
}
我见过很多例子,我对使用ExternalInterface.addCallback感到困惑.我不需要javascript将任何内容返回给flash,所以这是必要的吗? 无论出于何种原因,我都看不到警报.有没有人在我的代码中看到任何问题?是否有一些我没有的ExternalInterface库?此外,什么是使用ExternalInterface的最佳方式(即;错误检查等)在此先感谢… 解决方法
ExternalInterface.addCallback用于使javascript能够调用您的Flash应用程序.例如,如果您想要一个启动/停止视频的HTML按钮,您只需为命名方法添加回调,而您的js可以调用[FlashObject] .callback方法名称.
我想说在应用程序中添加ExternalInterface方法的最佳方法是在应用程序中为每个交互案例设置一个负责JS通信的类.例如: public class ExternalVideoControl {
private var video:MediaDisplay;
public function ExternalVideoControl(video:MediaDisplay) {
//ExternalInterface.addCallback - one callback for each method you want to expose,pointing to a method within this class;
//add listeners on the video player and point them to methods in this class,for example onProgress
}
public function playVideo():void {
//play the video on the mediaDisplay
}
private function onProgress(event:ProgressEvent):void {
//ExternalInterface.call - report progress back to javascript
}
}
要更直接地测试ExternalInterface,请尝试调用 ExternalInterface.call("alert","Hello World!");
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
