我在 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>