我幾次在SO中看到過這個問題。大多數情況下,用戶調用了Facebook js(all.js)兩次或未提供應用程序ID。但我的情況是不同的。我已經包括all.js一次,我也設置了應用程序ID。但是當我點擊登錄按鈕時,我仍然在調用FB.init()之前調用了「FB.login()」調用的錯誤。爲登錄按鈕標記是如下FB.login()在調用FB.init()之前調用
<fb:login-button autologoutlink="true" perms="email,user_birthday,user_about_me,publish_stream"></fb:login-button>
和JavaScript代碼
<script type="text/javascript">
FB.init({appId: '${section.parameters['facebook.app.id']}', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
//logout();
});
function setFacebookStatus(form) {
var status = $('#comment-form-body').val();
var params = {};
params['message']= status;
params['link'] = '${article.url}';
FB.api('/me/feed', 'post',params, function(response) {
if (!response || response.error) {
alert('Error occured');
}
else {
alert('<fmt:message key="comment.form.facebook.success" />');
$("#facebookComment").overlay().close();
form.submit();
}
});
}
</script>
我在html頁面的頭部添加all.js。我真的生氣了這個問題。如果你能幫助我,我將非常感激。
編輯
一件事提。有時會起作用,有時會向我顯示警告。說我從另一個標籤登錄到Facebook,然後我從Facebook登出。然後我刷新我的網站頁面,其中有facebook整合。然後我收到警告。主要的問題是有時候它有時候不工作。
當頁面加載可能阻止FB.init被調用時,您是否收到任何Javascript錯誤? – shanethehat
不,我沒有收到任何JavaScript錯誤。還有一件事要提到。有時會起作用,有時會向我顯示警告。說我從另一個標籤登錄到Facebook,然後我從Facebook登出。然後我刷新我的網站頁面,其中有facebook整合。然後我收到警告。主要的問題是有時候它有時候不工作。 –
你能顯示一個到你的頁面的鏈接,或者創建一個展示這個問題的例子嗎? – shanethehat