成功登录Facebook后重新加载页面


Reloading page after successful Facebook Login

可能重复:
如何使用Javascript重新加载页面?

除了用户登录后的重定向外,我的Facebook登录正常工作。

这里叫它:

else {
echo '<h3>Please login with your Facebook account</h3>';
echo '<p>';
$f1->displayLoginButton();
echo '</p>';
}

$f1->displayLoginButton()在此处定义:

    function displayLoginButton() {
    echo '<fb:login-button show-faces="false" width="600" max-rows="1" scope="publish_stream, manage_pages, email"></fb:login-button>';
}

我很确定我只需要重新加载页面使用类似的东西:

window.location.reload()

但是我对JS不是很熟悉。有人能给我指正确的方向吗?

修改您的<fb:login-button>以包含如下内容:onlogin="afterFbLogin()",您应该有如下内容:

function displayLoginButton() {
    echo '<fb:login-button show-faces="false" width="600" max-rows="1" scope="publish_stream, manage_pages, email" onlogin="afterFbLogin()"></fb:login-button>';
}

这是告诉FB的API在用户单击FB登录按钮时调用afterFbLogin()JavaScript函数。然后,只需将重新加载窗口(window.location.reload(true);)的代码放在该函数中,该函数应该在页面上的某个地方定义。