使用Javascript SDK的Facebook请求对话框出错,第一次点击时无法正常工作

时间:2011-09-07 14:49:00

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我有一个Facebook应用程序,它有一个按钮,显示Facebook请求对话框。在第一次加载页面时单击此按钮,将在新窗口中弹出请求对话框,并且此新窗口在一半时间内不起作用(冻结并要求我关闭所有浏览器窗口)。但是在我工作的时间让我关闭它,然后我再次单击我的按钮,它会在阴影和所有内容的对话框中正确打开。

我的问题是,如何安排它在第一次点击时不能在新窗口中打开并可能关闭我的应用程序。这是运行对话框的代码:

//shows pop up window for inviting friends
function Invite()
{
    FB.init(
    {       
        appId:'<?echo $app_id;?>', cookie:true,
        status:true, xfbml:true 
    });
    FB.ui(
    {
        method: 'apprequests', 
        message: 'Insert Message Here'
    });
}

如果重要的话,这是我的按钮代码:

`<button onclick="Invite();">Invite Friends!</button>`

我正在使用他的Javascript SDK。我已经搜索过这个,但什么都没有。

在我的控制台中,当对话框在新窗口中打开时,它会显示错误:     图像损坏或截断:

1 个答案:

答案 0 :(得分:3)

您应该从Invite()函数外部调用FB.init()函数。 FB需要一些时间来加载自己。尝试将FB.init()分开放置在页面顶部(在正文标记之后)。