2010-04-26 34 views
1

我想從一個SWF中調用JS函數,該函數在應用程序選項卡中加載。作爲一個畫布FBML,代碼工作正常,但在應用程序選項卡的情況下,它不工作。SWF - > FBJS不能與FBJS橋共同工作

AS3代碼

protected function button1_clickHandler(event:MouseEvent):void 
{ 
    callFBJS(["insideFlex"]) 
} 

protected function callFBJS(text:Array):void 
{ 
    var connection:LocalConnection = new LocalConnection();  
    var connectionName:String = loaderInfo.parameters.fb_local_connection; 
    if (connectionName) 
    {  
     logLbl.text = "Connection Name: " + connectionName; 
     connection.send(connectionName,"callFBJS","doSomething",text); 
     logLbl.text = logLbl.text + "\n" + "Method invoked"; 
    } 
} 

JS代碼:

<fb:fbjs-bridge/> 
<fb:swf swfsrc="<SWF File>" imgsrc="http://www.easyhealth.org.uk/cmsimages/adobe_flash_1470_1470.jpg" height="655" width="760"/> 
<script> 
    function doSomething(a) 
    { 
    console.log(a); 
    } 
</script> 

回答

1

我花了一天解決這個問題。您必須聲明任何FBJS函數並通過單擊HTML鏈接來調用它。點擊後,基於FBJS橋的呼叫就可以工作。我不明白如何或爲什麼,但這解決了我的問題。