我该如何通过javascript判断用户是否已经通过Facebook连接登录了我的网站?根据这个结果,我想在网站上显示/隐藏一个<fb:login-button>
按钮。
如果我使用jquery做了这样一件事:
<div id="login"></div>
<script>
if (notLoggedIn)
{
$("#login").html("<fb:login-button></fb>");
}
</script>
它会起作用吗?
我该如何通过javascript判断用户是否已经通过Facebook连接登录了我的网站?根据这个结果,我想在网站上显示/隐藏一个<fb:login-button>
按钮。
如果我使用jquery做了这样一件事:
<div id="login"></div>
<script>
if (notLoggedIn)
{
$("#login").html("<fb:login-button></fb>");
}
</script>
它会起作用吗?
<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();
});
我认为jQuery不会阻止您插入非标准HTML标签,但是您肯定希望将您的闭合标签从</fb>
更改为</fb:login-button>
。
除此之外,在页面加载后插入XFBML标签时,您需要请求FB API重新解析DOM。这应该就可以做到:
FB.ensureInit(function(){
FB.XFBML.Host.parseDomTree();
});