我正在尝试连接到FBJS桥。它一直给我以下错误。当我只打开一个连接时,我没有打开任何其他窗口。
ArgumentError: Error #2082: Connect failed because the object is already connected.
at flash.net::LocalConnection/connect()
at BabyVille()[C:\Documents and Settings\user\Desktop\babyville\flash\Main Project\src\BabyVille.as:56]
这是我的代码:
public class fbjsTest extends Sprite
{
private var connection:LocalConnection = new LocalConnection();
private var connectionName:String = LoaderInfo(root.loaderInfo).parameters.fb_local_connection;
public function fbjsTest()
{
connection.connect(connectionName);
}
}
如果我尝试在本地运行它,那么就在Facebook页面上,以下行返回null
LoaderInfo(root.loaderInfo).parameters.fb_local_connection
任何想法?
答案 0 :(得分:1)
谨防缓存的LocalConnections。如果您的应用未正确关闭,则连接仍将“已连接”。关闭浏览器以确保它已消失。您也可以为连接提供一个随机名称(如果您的应用程序的逻辑当然允许)。 希望能省得头疼!
编辑:
等一下,你不打算连接这个!接收器(由桥接器处理的接收器)是已经连接的接收器。
FB开发人员中心的示例:
var connection:LocalConnection = new LocalConnection();
var connectionName:String = LoaderInfo(this.root.loaderInfo).parameters.fb_local_connection;
function callFBJS(methodName:String, parameters:Array):void {
if (connectionName) {
connection.send(connectionName, "callFBJS", methodName, parameters);
}
}
callFBJS("document.setLocation", ["http://someurl"]);