0

我正在尝试使用 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> 
4

1 回答 1

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>

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

于 2013-06-22T18:25:00.253 回答