FBML选项:这应该给你你想要的功能(与xfbml:true
在FB.init
):
<fb:login-button autologoutlink="true" onlogin="OnRequestPermission();">
</fb:login-button>
当用户登录时,它将更改为“注销”。另外,如果用户没有授予该应用程序的权限,则会弹出请求权限对话框。
自定义选项:如果你不喜欢使用FBML,你可以让你自己的Facebook登录按钮这样的:
HTML:
<button id="THE_BUTTON">Login</button>
的Javascript:
FB.init({appId: 'YourAPPID', status: true, cookie: true, xfbml: true, oauth : true});
FB.getLoginStatus(function(response) {
if (response.status.toString().indexOf("connected")>-1) {
initAll(); //User is connected and granted permissions
FB.api("/me", function (response) {
document.getElementbyId("THE_BUTTON").value =
"Logged in as " + response.name;
});
} else {
// This URL is specially formed to ask permissions for your app. You change the
// permissions and your appID
//redirect_uri = Change this to your desired callback URL
top.location=window.location="http://www.facebook.com/dialog/oauth/?scope=read_stream,publish_stream,friends_photos,friends_activities&client_id="yourAPPID(nobrackets)"&redirect_uri=http://apps.facebook.com/filtered_feed/&response_type=code";
}
});
因此,如果用户登录,该按钮将被替换为“以登录为用户名 “。否则,将显示OAuth对话框。
我也为此感到困惑。另外,为什么无法使用fb:login-button的插件如果用户登录时不够智能,无法成为注销。混淆不在这里。我不能看到一个用户应该看到“登录”的用例。 – RichieHH 2011-05-19 13:03:03