我正在建立一个社交网站,并遇到一些关于Facebook登录的问题。
我可以成功登录。 问题是我希望用户点击导航栏上的登录按钮后,该按钮将成为一个下拉菜单。
如果用户点击下拉菜单,他们可以转到他们的个人资料网站或退出。
Sorry for my English presentation so I draw picture to make you understand
<a id="login_button">Login</a>
及以下是我的js代码的一部分。
$(function(){
$("#login_button").click(function() {
FB.login();
get_my_profile();
});
});
var get_my_profile =function() {
FB.api("/me", function(response){
var username =response.name;
$("#profile_name").html(username);
});
FB.api("/me/picture", function(response) {
var userpicture =response.data.url;
$("#profile_picture").attr("src", userpicture);
});
}
答案 0 :(得分:1)
您可以使用FB.getLoginStatus()来确定用户是否已登录。
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// the user is logged in and has authenticated your app
$("#userMenu").show();
} else if (response.status === 'not_authorized') {
// the user is logged in to Facebook,
// but has not authenticated your app
$("#login_button").show();
} else {
// the user isn't logged in to Facebook.
}
});
<a id="login_button" style="display: none;">Login</a>
<div class="btn-group" id="userMenu" style="display: none;">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
UserName <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a id="userProfile" href="#">User Profile</a></li>
<li><a id="logOut" href="#">Logout</a></li>
</ul>
</div>