AS3与JavaScript之间的通信

 

AS3与JavaScript之间的通讯用ExternalInterface .

ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口,例如,包含 JavaScript 的 HTML 页。 Adobe 建议使用 ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信。

详细官方帮助见:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/external/ExternalInterface.html

网上摘下来的例子:

在html中嵌入swf有两种方式,一种是用Flash CS3直接发布,还有一种就是大家都熟悉的swfobject。这里我没什么挑剔的,能解决问题就行。
这个例子是flash调用js函数funcWaitingForFlash,执行funcWaitingForFlash函数时再回调flash的func,仅供参考。

package
{
import flash.display.*; 
import flash.external.*; 
public class Main extends Sprite 
{
public function Main():void 
{
// …
ExternalInterface.addCallback(‘flashFunc‘, func); 
ExternalInterface.call(‘funcWaitingForFlash‘); 
}
private function func(str:String):void 
{
// …
}
}
}

 

function callFlashFunc(str) 
{
var obj = thisMovie(‘flashas3js‘); 
// thisMovie函数在发布时会自动生成
// 如果用swfobject则是
// var obj = swfobject.getObjectById(”flashas3js”);
if(obj){ 
obj.flashFunc(str); 
}
}
function funcWaitingForFlash() 
{
callFlashFunc(‘试试看‘); 
}

  

你可能感兴趣的:(JavaScript,编程,Flash,Adobe,actionscript)