warum funktionieren die anderen fälle in fbAsyncinit / fb.Event.subscribe nicht?

Ich frage mich, warum es so aussieht, als ob das "sonst wenn" der Fall istresponse.status === 'not authorized' und der Fall "else" ("unknown", dh Benutzer ist nicht bei Facebook angemeldet) werden nicht ausgeführt. Wenn ich in meiner App eingeloggt bin, wird testAPI () im Internet entsprechend aufgerufenresponse.stats === 'connected' . Wenn ich jedoch den Inkognito-Modus in Chrome öffne, werden die testAPI () -Funktionen in den anderen Fällen nicht aufgerufen. Weiß jemand warum?

window.fbAsyncInit = function() {

FB.init({
    appId      : 'appnumberhere', // App ID
    channelUrl : '//localhost/appname/channel.php', // 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.authResponseChange', function(response) {

    if (response.status === 'connected') {
          testAPI(); // works
    } else if (response.status === 'not_authorized') {
           testAPI(); // not called. Nothing in console.
          FB.login();
    } else {
           testAPI(); // not called. Nothing in console.
          FB.login();
           }
    });


}); // end async init function

die testAPI Funktion:

 function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', function(response) {
      console.log('Good to see you, ' + response.name + '.');
    });
  }

Als Randnotiz sehe ich auch kein Facebook-Anmeldedialogfeld, wenn ich nicht angemeldet bin, was meiner Meinung nach fb.login () aufrufen soll.

zusätzliche Randnotiz

Seltsamerweise muss ich auch haben<script src="//connect.facebook.net/en_US/all.js"></script> unter der FB SDK einbinden<script>(function(d){ var js,....</script> und in meiner Kanaldatei, damit meine App funktioniert. Andernfalls werden einige Teile nicht geladen. Ich bin nicht sicher, ob dies damit zusammenhängt, aber es ist sehr seltsam.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage