2010-04-26 32 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桥的呼叫就可以工作。我不明白如何或为什么,但这解决了我的问题。