3

我在 stackoverflow 上查看了各种文档和问题,但仍然无法弄清楚为什么以下代码不会触发任何 FB.Event.subscribe 事件 getLoginStatus。

<div id="fb-root">
<script>
    (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));

    window.fbAsyncInit = function () {
        FB.init({
            appId: '{appID}', // App ID
            channelUrl: '{channelURL}', // Channel File
            status: true, // check login status
            cookie: true, // enable cookies to allow the server to access the session
            xfbml: true,  // parse XFBML
            oauth: true // enable OAuth 2.0
        });

        FB.Event.subscribe('auth.authResponseChange', function (response) {
            console.log(response);
        });

        FB.Event.subscribe('auth.login', function (response) {
            console.log(response);
        });

        FB.Event.subscribe('auth.statusChange', function (response) {
            console.log(response);
        });

        FB.getLoginStatus(function (response) {
            console.log(response);
        });
    };

</script>
</div>
<div>
    <div class="fb-login-button" data-show-faces="true" data-width="400" data-max-rows="1"></div>
</div> 
4

1 回答 1

4

如果其他人需要它,我在另一个问题上找到了我的问题的答案:

FB.Event.subscribe 不适用于 auth.login、auth.logout 和 auth.statusChange

我进入 facebook 并将 Canvas URL 更新为我的 localhost URL 并且它有效。

于 2012-10-01T21:38:12.080 回答