我非常感謝解決此問題的任何幫助。我已經呆了兩天了,一直沒能解決這個問題。我想通過ExternalInterface API從JavaScript調用一個AS3函數,它根本就不工作。如果我要調用一個JavaScript函數形式的HTML加載SWF,它的作品非常漂亮。ActionScript 3外部接口回調不起作用?
我下面這個教程: http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication/
我使用SWFObject加載SWF到一個div。
JavaScript代碼:
<script type="text/javascript">
swfobject.embedSWF("testRun.swf", "myContent", "550", "400", "9.0.0");
function getFlashMovie(movieName)
{
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function callFlash(flash)
{
//alert(flash);
getFlashMovie(flash).sendToFlash();
}
</script>
AS3代碼:
import flash.external.*;
import flash.events.*;
import flash.text.*;
JavaScript就CALL SENDTOFLASH然後調用初始化函數
ExternalInterface.addCallback("sendToFlash", init);
function init():void
{
var txt:TextField = txtField();
txt.appendText("LOOK AT ME!!!");
addChild(txt);
}
function txtField():TextField
{
var txt:TextField = new TextField();
txt.x = 25;
txt.y = 25;
txt.width = 200;
txt.height = 150;
txt.border = true;
txt.text = "INIT ";
return txt;
}
你可以發佈你調用callFlash()函數的代碼嗎? – grapefrukt 2011-06-12 09:58:30