【问题标题】:How to return a value from Facebook Javascript connect api functions如何从 Facebook Javascript 连接 api 函数返回值
【发布时间】:2010-03-29 23:52:38
【问题描述】:

我正在尝试在 Facebook JavaScript 连接 API 方法上创建包装函数。

我的问题是我无法在 Facebook API FB_RequireFeatures 方法中返回值。

我希望我的 isFBConnected() 函数根据我是否登录 Facebook 返回 true 或 false。

发生的情况是,当我返回 true 时,它​​会将其返回给子函数,但这是有道理的,但我的全局“登录”变量并未设置为 true。

我已尝试设置超时以等待 Facebook 连接完成执行,但仍然没有成功。

欢迎任何帮助或其他解决方案!

我的 isFBConnected 包装函数如下所述:

函数是FBConnected(){

var api_key             = '<?=$this->apiKey?>';
var channel_path        = '<?=$this->xdReceiver?>';
var host_url            = '<?=$this->hostUrl?>';
var servicePathShort    = '<?=$this->servicePathShort?>';
var login               = false;

FB_RequireFeatures(["Api"], function(){

    // Create an ApiClient object, passing app's API key and
    // a site relative URL to xd_receiver.htm
    FB.Facebook.init(api_key, channel_path);

    var api = FB.Facebook.apiClient;
    // If FB user session exists - load stats data
    if(api.get_session()!=null){
        if(api.get_session().uid!='' && api.get_session().uid!=undefined){
            login = true;
           alert(api.get_session().uid);
            return true;
        }
    }
    login = false;
    return false;
});

return false;

}

【问题讨论】:

    标签: javascript facebook


    【解决方案1】:

    首先,您知道 FB_RequireFeatures 函数的第二个参数是一个回调函数,这意味着您的 IsFBConnected 函数将始终返回 false,对吗?你真的需要 FB_RequireFeatures 函数吗?你可以直接调用 FB.init 吗?

    【讨论】:

      猜你喜欢
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多