Flash:本地连接出错

时间:2010-04-02 14:03:29

标签: flash actionscript-3

我正在尝试连接到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

任何想法?

1 个答案:

答案 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"]);