我正在尝试从应用程序选项卡中加载的 SWF 调用JS函数。作为画布FBML,代码工作正常但是在应用程序选项卡的情况下,它不起作用。
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>
答案 0 :(得分:1)
我花了一天时间解决这个问题。您必须声明任何FBJS函数并通过单击HTML链接来调用它。单击后,基于FBJS桥接的调用将起作用。我不明白为什么或为什么,但这解决了我的问题。