0

私の fb javascript sdk コードは、想定どおりにインデックス ページに読み込まれます。私のjsスクリプトには、ログイン状態になったら起動したいコールバック関数があります。コールバックは、init コードと一緒にインデックス ページに含めると機能しますが、他のページのスクリプトに移動すると機能しません。なんで?

//INDEX

 <div id="fb-root"></div>
 <script type="text/javascript">

     window.fbAsyncInit = function() {
    FB.init({
      appId      : '278xxxxx040', // App ID
      channelUrl : '//http://xxxxx/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
    });


     //get login status
         FB.getLoginStatus(onCheckLoginStatus(response));


  //JS

//OnCheckLoginStatus only works if I have it on the index page. 

function onCheckLoginStatus (response)
    {
     if (response.status != "connected")
     {
      top.location.href = "https://www.facebook.com/dialog/oauth?client_id=" + appId + "&redirect_uri=" + encodeURIComponent (redirectUrl) + "&scope=user_photos,friends_photos";
     }
     else
     {
     console.log("connected"); 


      $.ajax({
        url : "http://sxxxxx/bn/s_Request.php",
        type : 'POST',
        data: {signed_request: response.authResponse.signedRequest},
        success : function (result) {
           console.log("success");
           console.log(result);
        },
        error : function () {
           alert("error parsing signed request");
        }
    });


      // Start the application (this is just demo code)!
      $(document.body).append ("<p>Authorized!</p>");

     }
    } 
4

1 に答える 1