我允许我的用户使用他们的Facebook帐户登录我的网络应用程序。
如果 -
,用户将通过Facebook自动登录我的网站这没关系,除了用户访问主页和被带到他们的仪表板之间有一个暂停,而Facebook检查他们是否已经登录。有没有办法显示一种预加载器,上面写着“签名”与Facebook合作“虽然过渡了吗?
我正在使用以下Facebook javascript -
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxx',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
FB.Event.subscribe('auth.login', function() {
FB.api('/me', function(response) {
window.location='mysite/fb_signin/';
});
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
谢谢。
答案 0 :(得分:1)
使用facebook api,您可以在调用FB.api之前检查用户是否已连接(这需要花费时间)。
http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
这应该有帮助
答案 1 :(得分:0)
我同意Marc的说法,你可以使用getLoginStatus()来帮助你确定它们在将它们发送到一个或另一个地方之前的含义。但是,你说的话很慢。所以这让我看了你的代码,看来你错过了FB.init()调用中的channelUrl(有关更多信息,请参阅https://developers.facebook.com/docs/reference/javascript/)。没有channelUrl用户与Javascript SDK功能的交互将会缓慢而缓慢。