确保jquery和FB JS SDK都已初始化

时间:2010-10-13 11:09:13

标签: javascript facebook jquery

我正在使用FB.ui方法向用户墙发布内容,并希望捕获用户是发布还是取消。为此,我调用一个函数(例如bi_published(){...}),它更新数据库中用于捕获指标的表。它通过进行$ .ajax调用来完成此操作。问题是bi_published必须在$(function(){})之内;确保$已初始化。但是当我从FB.ui中调用它时,我得到错误bi_published()没有定义。如果我把它保留在外面,那么我得到$是没有定义的。

以下列方式调用FB.ui。

        fbEnsureInit(function(){
                FB.ui({ method: 'stream.publish', other params}, function(response){ if(response && response.post_id){bi_published();}else{bi_not_published();}});                    
        });

这里解释的技术:How to detect when facebook's FB.init is complete

在这种情况下该怎么办?

1 个答案:

答案 0 :(得分:0)

所以我想出了如何实现这一目标。

我现在把bi_published放在外面然后在那个方法中我把$(function(){在这里调用ajax}}

工作正常。

这么简单我有点觉得愚蠢。