代码之家  ›  专栏  ›  技术社区  ›  dez

如何从Facebook Javascript connect api函数返回值

  •  0
  • dez  · 技术社区  · 16 年前

    我试图在Facebook JavaScript connect API方法上创建包装函数。

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

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

    实际情况是,当我返回true时,它会将其返回给子函数,这是有意义的,但是,我的全局“login”变量没有设置为true。

    我尝试设置一个超时,直到Facebook连接完成执行,但仍然没有成功。

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

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

    函数isFBConnected(){

    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;
    

    }

    1 回复  |  直到 12 年前
        1
  •  0
  •   tloflin    16 年前

    首先,你知道FB_RequireFeatures函数的第二个参数是回调函数,这意味着你的IsFBConnected函数将 总是 返回false,对吗?你真的需要FB_RequireFeatures功能吗?你能打电话给FB吗。而是直接初始化?

    推荐文章