6

Facebook経由でログインしようとすると、突然、アプリケーションで奇妙なことが起こります。ログインの詳細を尋ねた後、Facebook 接続のポップアップ ダイアログに空白の画面が表示されます。通常、ウィンドウが閉じて、サイト自体が続行することを期待しますが、ハングしているように見えます.

私は使っているJavascript SDK on Localhost

これが私が使用しているコードです(Facebookのドキュメントから直接コピーします):

window.fbAsyncInit = function () {
    FB.init({ appId: fbAppId,
        status: false,
        cookie: true,
        xfbml: true
    });

};

(function (d) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
} (document));



$(document).ready(function () {


    $("#fb_button_login").click(function () {


        FB.login(function (response) {
            if (response.authResponse) {
                console.log('Welcome!  Fetching your information.... ');
                FB.api('/me', function (response) {
                    console.log('Good to see you, ' + response.name + '.');
                });
            } else {
                console.log('User cancelled login or did not fully authorize.');
            }
        });


    });

});

その他の注意事項:

  • これは、すべてのブラウザで発生しているようです。
  • 他のすべての投稿を調査しましたが、自分に合った解決策が見つからないようです
  • コンソールにエラー メッセージが表示されない
  • 開発するときは、私が使用している指定されたポートを使用してローカルホスト専用にセットアップした別の FB アプリ ID を使用します (12 か月以上正常に動作しています)。
    • サンドボックス モードを有効にしていません

ハングアップしていると思われる URL はこちら

みんなありがとう。

4

2 に答える 2

1

バグのようです: https://developers.facebook.com/bugs/241915819261223?browse=search_4ff2ead131a032989098325

上記のリンクのコメントから、ポート 80 でアプリを実行してみて、URL のポート部分を避けることができます。

于 2012-07-03T12:56:17.423 に答える
0

次のコードを試してください

<html>
<body>
<div id="fb-root"></div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js" ></script>
<script>

FB.init({appId: fbAppId, status: true, cookie: true, xfbml: true});
$(document).ready(function () {
    $("#fb_button_login").click(function () {
        FB.login(function (response) {
            if (response.authResponse) {
                console.log('Welcome!  Fetching your information.... ');
                FB.api('/me', function (response) {
                    console.log('Good to see you, ' + response.name + '.');
                });
            } else {
                console.log('User cancelled login or did not fully authorize.');
            }
        });


    });
});

</script>
<a href="javascript://" id="fb_button_login">Login</a>
</body>
</html>
于 2012-09-17T10:26:12.590 に答える