是的,通过ExternalInterface类.
您可以在Flash电影中调用Javascript,并获取有关您心愿的页面的任何公开信息.
附录
看了一年半之后,我决定添加一些例子:
假设您的客户端页面上有一个JS函数,如下所示:
function foo(bar,type) {
// do something with bar and type
}
Run Code Online (Sandbox Code Playgroud)
你可以从Flash(使用AS3)调用它,如下所示:
ExternalInterface.call(foo, bar, type);
Run Code Online (Sandbox Code Playgroud)
请注意,函数名称是第一个对象,之后依次列出参数.
要将Flash影片的方法暴露给Javascript之外,您可以在Flash或Flex(再次,AS3)中执行此操作:
application1_applicationCompleteHandler(event:Event) {
// the app has finished loading, so do whatever we
// have to do on load, plus add that callback
ExternalInterface.addCallback(foo, bar);
}
public function bar(arg1, arg2) : void {
// do something with arg1 and arg2
}
Run Code Online (Sandbox Code Playgroud)
在页面上的Javascript中,您可以像这样调用它(其中myMovie是SWF的ID):
myMovie.foo(anArg, anotherArg);
Run Code Online (Sandbox Code Playgroud)
在该addCallback方法中,第一个参数是函数的外部名称,第二个参数是将被调用的闭包.
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |