查看用户是否登录到Facebook

时间:2013-06-22 18:22:29

标签: javascript facebook

我正在尝试使用facebook API来查看用户是否从我的网站登录。

当我调用FB.getLoginStatus时,我得不到任何回应。我尝试了所看到的每个示例代码以获得响应并且什么也没得到。有人可以帮我解决我的代码问题:

<div id="fb-root"></div>
<script type="text/javascript" src="//connect.facebook.net/en_US/all.js">
<script type="text/javascript">   
       window.fbAsyncInit = function() {
          FB.init({
            appId      : 'my_app_id', // App ID
            status     : true, // check login status
            cookie     : true, // enable cookies to allow the server to access the session
            xfbml      : true  // parse XFBML
          });
        };

        // Load the SDK Asynchronously
        (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));
    function GetFBLoginStatus() {
    debugger;
    window.fbAsyncInit()
            alert("get status");
    FB.getLoginStatus(function(response) {
        alert("inside call back function"); 
        if (response.status === 'connected') {
        alert("logged in");
        } else if (response.status === 'not_authorized') { 
            alert("not authorized"); 
        } else {
            alert("logged out");
        }
        return true;
    }, true)
} 
</script> 

1 个答案:

答案 0 :(得分:0)

您的第一个脚本没有结束标记:

<script type="text/javascript" src="//connect.facebook.net/en_US/all.js">

应该是

<script type="text/javascript" src="//connect.facebook.net/en_US/all.js"></script>

现在,浏览器认为第二个脚本标记是第一个脚本标记中定义的脚本的一部分。你得到解析错误,其余的都没有执行。