私は Facebook コネクトでかなり単純なことをしようとしていますが、運がありません。
ユーザーがログインすると、そのユーザーの詳細を (ページをリロードせずに更新されて) 表示したいのですが、ユーザーがログアウトすると、ログイン状態に戻る必要があります。
私が持っているコードは
function update_user_box()
{
jQuery('span#loggedin').html('<fb:profile-pic uid="loggedinuser" facebook-logo="true"></fb:profile-pic><fb:login-button size="small" onclick="fbLogout()" autologoutlink="true"></fb:login-button>');
jQuery('span#fbLogin, ul#otherLogin').hide();
jQuery('div#popForecast li.otherLogin, ul.showList li.otherLogin').remove();
jQuery('span#logged').text('1');
FB.XFBML.Host.parseDomTree();
}
function fbLogout()
{
FB.Connect.logout();
jQuery('span#fbLogin').show();
jQuery('span#loggedin').empty();
jQuery('span#logged').text('0');
}
FB.init('c0529b8c11709f2317ae643d854e3866', 'xd_receiver.htm');
FB.ensureInit(function(){
FB.Connect.ifUserConnected(update_user_box);
});
ユーザーをログインおよびログアウトできますが、他に何も変わりません。関数からアラートをトリガーすることさえできません。
何らかの理由で、私が使用している html は pre タグ内に表示されませんが、ページをリロードすると、ユーザーが表示される (またはそうでない) ため、javascript 関数から直接トリガーされていません。ただし、ページを更新すると、正しい機能が起動します。
私がfirebugで得るエラーは
「fbLogout 未定義」
、しかし明確に定義されています。どこで定義するかは重要ですか? 現在、すべての javascript/jquery はスクリプト タグ内の head にあります。私はそれをページに移動しようとしましたが、どちらも運がありませんでした.