0

私は Javascript SDK を初めて使用し、モバイル Web アプリケーションを学習して作成しようとしています。私がやろうとしているのは、ユーザーのログイン状態を確認することだけです。ユーザーがログインしていない場合、またはアプリを承認していない場合は、追加の権限のない標準の通常のログイン ボタンが表示されます。しかし、テスト時に、ログインせずに Web アプリケーション ページを開くと、ログイン ボタンをクリックする前に、ログイン ダイアログが 2 回または 3 回自動的にポップアップします。ダイアログをキャンセルまたは閉じた後、[ログイン] ボタンをクリックしても何も起こりません。mozillaユーザーエージェントトリックを使用してデスクトップコンピューターからテストしています。誰かが私のコードを見直して正しい方向に導くことができれば、とても感謝しています。ありがとう。

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'app_id', status: true, cookie: true, xfbml: true});
    FB.getLoginStatus(fbLoginStatus);
    FB.Event.subscribe('auth.statusChange', fbLoginStatus);
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
<script>
function fbLoginStatus(response) {
     if (response && response.status === 'connected') {
        document.getElementById('loginButton').style.display = 'none';
        greetUser();
     } else {
        showLoginButton();
     }
  }
function authUser() {
   FB.login(fbLoginStatus);
}
function showLoginButton() {
  document.getElementById('logbutton').innerHTML = (
  '<input id="loginButton" type="button" value="Login!" onclick="'+authUser()+'" />'
  );
}
</script>
<div id="logbutton"></div>
4

1 に答える 1