0

domready.jsfb-jssdk.js の2 つの個別の js ファイルがあります。

jssdk は、sdk のロードとログインを処理します。シナリオに応じて、ユーザーがログインしているかどうかにかかわらず、response.state から正しい状態を返します。

私が混乱しているのは、FB応答から取得したデータをFB.apiで使用して、ユーザーがログインしたときに名前と電子メールを取得し、jQueryを使用してサイトで使用する方法です。

編集: fb コードが含まれているファイルとは別の js ファイルで応答の内容を使用し、それを jQuery イベント ハンドラーで使用する方法を知りたいです。

それで、response.name をコンソールに出力する testAPI() という関数がある場合、response.name = "Kryptonite Dove" のデータを他のファイルで操作するにはどうすればよいでしょうか?

testAPI()

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

});
}

いくつかの機能

   $("#id").click(function() {
      if (response.name == "Kryptonite Dove") {
        // Do something
      }
   });
4

1 に答える 1

5

response別の関数のローカル変数であるにアクセスしようとしています(参照: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Closures )。したがって、できることの 1 つは、それをグローバル変数に割り当ててから、他の関数でアクセスすることです。

var saved_response;

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

      return response.name;
  });
}



$("#id").click(function() {
   if (saved_response.name == "Kryptonite Dove") {
     // Do something
   }
});
于 2013-03-20T20:47:18.643 に答える