Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面加载时检查Facebook登录状态_Javascript_Facebook - Fatal编程技术网

Javascript 在页面加载时检查Facebook登录状态

Javascript 在页面加载时检查Facebook登录状态,javascript,facebook,Javascript,Facebook,根据Facebook Javascript SDK 可以通过设置status:true来检查用户的状态 当你调用FB.init时 要接收此呼叫的响应,您必须订阅 auth.statusChange事件 我相信我这样做是正确的,但我的示例中的“状态更改”日志从未触发: window.fbAsyncInit = function() { FB.init({ appId : 'xxxxxxxxxxxx', // App ID channelUrl :

根据Facebook Javascript SDK

可以通过设置status:true来检查用户的状态 当你调用FB.init时

要接收此呼叫的响应,您必须订阅 auth.statusChange事件

我相信我这样做是正确的,但我的示例中的“状态更改”日志从未触发:

window.fbAsyncInit = function() {
    FB.init({
        appId      : 'xxxxxxxxxxxx', // App ID
        channelUrl : '../channel.html', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });

    FB.Event.subscribe('auth.statusChange', function(response) {
        console.log("status change!");
    });
    ...
});

此文档是否不正确?还是我做错了什么事?

我认为最后是这样,而不是};是}

也可能是你没有开始。这对我很有用:

$(document).ready(function() {

  var app_id = 'xxxxxxxxxxxxxx';

  var start = function (){


    window.fbAsyncInit = function() {

     FB.init({

        appId     : app_id,
        status    : true,
        cookie    : true,
        xfbml     : true,
        version   : 'v2.7'

     });

     FB.Event.subscribe('auth.statusChange', function(response) {
        var status = response.status;
        console.log(response.status);

        if (status === "connected") {
         //
        }

     });
   };

  }

  start();

 });
你可以这样试试

函数statusChangeCallbackresponse{//调用,结果来自FB.getLoginStatus。 console.log'statusChangeCallback'; console.logresponse;//此人的当前登录状态。 如果response.status==='connected'{//登录到您的网页和Facebook。 console.logUser已连接,名称:+response.name; }否则{//未登录您的网页,或者我们无法确定。 console.loguser未连接; } } window.fbAsyninit=函数{ FB.init{ appId:“{your app id}”, 曲奇:是的, xfbml:是的, 版本:“{api版本}” }; FB.getLoginStatusfunction响应{//在JS SDK初始化后调用。 statusChangeCallbackresponse;//返回登录状态。 }; }; 函数d,s,id{ var js,fjs=d.getElementsByTagNames[0]; 如果d.getElementById{ 回来 } js=d.createElements; js.id=id; js.src=https://connect.facebook.net/en_US/sdk.js; fjs.parentNode.insertBeforejs,fjs; }文档“脚本”、“facebook jssdk”;