如何通过javascript确定用户是否通过 脸书连接登录到我的网站?基于这个结果,我想在网站上显示/不显示<fb:login-button>
按钮。如何动态显示/隐藏Facebook登录按钮
如果我做了这样的使用jquery:
<div id="login"></div>
<script>
if (notLoggedIn)
{
$("#login").html("<fb:login-button></fb>");
}
</script>
可以吗?
如何通过javascript确定用户是否通过 脸书连接登录到我的网站?基于这个结果,我想在网站上显示/不显示<fb:login-button>
按钮。如何动态显示/隐藏Facebook登录按钮
如果我做了这样的使用jquery:
<div id="login"></div>
<script>
if (notLoggedIn)
{
$("#login").html("<fb:login-button></fb>");
}
</script>
可以吗?
我就是这么做的:
HTML:
<div id="logindisplay">
<span id="login">
<fb:login-button background="dark" onlogin="facebook_onlogin_ready();">
</fb:login-button>
</span>
</div>
JS:
function updateUserBox() {
var user_box = document.getElementById("login");
user_box.innerHTML = "<span><fb:name uid=loggedinuser useyou='false'></fb:name><fb:profile-pic uid=loggedinuser facebook-logo='true'></fb:profile-pic></span>";
FB.XFBML.Host.parseDomTree();
}
FB_RequireFeatures(["Connect"], function() {
FB.init("appkey", "/Content/xd_receiver.htm", { "ifUserConnected": updateUserBox });
FB.Connect.showPermissionDialog("publish_stream,status_update");
FB.Connect.requireSession();
});
我不认为你可以在Facebook中使用jQuery。他们有他们的own a wrapper js代码。也请检查this。
我使用在其上使用Facebook的 连接,而不是在Facebook上实际应用中我自己的网站/域名的jQuery。做 你认为jquery会为此工作吗? – 2009-08-10 13:52:42
如果您将Facebook应用程序部署为iframe,则可以使用您喜欢的所有javascript – 2009-11-22 16:17:33
我不认为jQuery将阻止你将非标准HTML标记,但是您一定要将结束标记从</fb>
更改为</fb:login-button>
。
除此之外,无论您何时在页面加载后将XFBML标记插入到DOM中,都需要请求FB API重新解析DOM。这应该做到这一点:
FB.ensureInit(function(){
FB.XFBML.Host.parseDomTree();
});
新的方法是:FB.XFBML.parse(); – 2013-07-08 11:50:04
您是否注意到刷新页面时,显示原始登录按钮,然后切换到您的个人资料图片?你如何避免发生这种情况? – 2009-10-28 14:38:35
@JackMarchetti这发生在我身上。你是如何解决的?谢谢! – 2017-08-17 19:54:11
@SamuelAialaFerreira其实我不记得了。 FB API在过去的8年中发生了很大变化 - 包括摆脱FBML。 – 2017-08-18 03:12:19