這是我的Facebook連接代碼:FB.Event.subscribe不會被調用
<script>
jQuery(document).ready(function($){
$(".fb-login-button").live('click', function() {
console.log('click');
fbEnsureInit(function() {
console.log('EnsureInit');
FB.login(function(response) {
console.log('FB.login');
// redirect will be done
}, {scope: 'email'});
});
});
});
window.fbAsyncInit = function() {
FB.init({
appId : '105224616211361', // App ID
/*channelUrl : '///channel.html', // Channel File // We don't do not to get caching problems with the laguage!*/
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// Additional initialization code here
fbApiInitialized = true;
// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function(response) {
try {
if (response.status == 'connected') {
console.log('connected');
$.ajax({
type: "POST",
url: "/?eID=login&modus=facebook&fb-login=1",
data: $(this).serialize(),
success: function(msg) {
console.log("LOGIN");
window.location.reload();
}
})
} else {
console.log('not connected');
window.location.reload();
}
} catch(err) {
window.location.reload();
}
});
};
/**
* Make sure that the FB is initialized!
*/
function fbEnsureInit(callback) {
if (!window.fbApiInitialized) {
setTimeout(function() { fbEnsureInit(callback); }, 50);
} else {
if (callback) { callback(); }
}
}
/**
* Load the JS SDK directly from Facebook
*/
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/de_DE/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
的SDK被加載。我能看到FB-按鈕,當我點擊它的代碼工作,直到
console.log('FB.login');
的FB-彈出彈出並沒有任何反應......這應該是這種地步:
FB.Event.subscribe('auth.login', function(response) {
應被叫...但它不..任何人都可以幫助我解決這個問題嗎?
謝謝。
編輯:
我只注意到這只是發生,當我已經登錄到Facebook上。如果我沒有登錄,登錄彈出窗口會彈出兩次(!),我可以登錄Facebook並調用函數FB.Event.Subscribe。
那麼如何才能看到用戶是否登錄到Facebook並連接到我的應用程序?
爲什麼Popup調用兩次?
刪除腳本底部的JS SDK的直接加載功能。 –
如果我這樣做,FB按鈕的圖像不會加載。我只有一個不可點擊的文字:「與Facebook連接」。 – MrTouch
我的錯誤。以爲你加載SDK兩次。 –