我同時使用XFBML和FBJS我的網站上兩種不同的機制:#XFBML = 1導致問題
- 的FB:個別條目像標籤
- 對於Facebook登錄的FB對象與FB連接
我的問題是,當我包括頁上的「all.js」,登錄腳本工作,但是FB:像標籤不起作用。
當我包含「all.js#xfbml = 1」時,fb:like標籤再次工作,但現在我的FB對象未定義,並且我的登錄代碼不起作用。
有什麼我失蹤了嗎?
在此先感謝您提供的任何幫助。
我同時使用XFBML和FBJS我的網站上兩種不同的機制:#XFBML = 1導致問題
我的問題是,當我包括頁上的「all.js」,登錄腳本工作,但是FB:像標籤不起作用。
當我包含「all.js#xfbml = 1」時,fb:like標籤再次工作,但現在我的FB對象未定義,並且我的登錄代碼不起作用。
有什麼我失蹤了嗎?
在此先感謝您提供的任何幫助。
您只需要一次包含腳本引用,並在頁面加載時在腳本上調用init。您可以將其用於fb:like按鈕或登錄腳本。
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
關鍵是將xfbml設置爲true(這是#xfbml = 1的作用)。如果你沒有設置那麼像按鈕不會渲染。
如果你想訂閱的登錄事件只需添加以下腳本FB.init()調用之後:
FB.Event.subscribe('auth.login', function(response) {
window.location.reload(); // or something else...
});
這裏將是你的登錄腳本被解僱,只有當用戶點擊一個鏈接,按鈕等
function doLogin() {
FB.login(function(response) {
if (response.session) {
if (response.perms) {
// user is logged in and granted some permissions.
// perms is a comma separated list of granted permissions
} else {
// user is logged in, but did not grant any permissions
}
} else {
// user is not logged in
}
}, {perms:'read_stream,publish_stream,offline_access'});
}
加入這個xmlns設置你的HTML標記
xmlns:fb="http://www.facebook.com/2008/fbml"
,包括「all.j s「
我_do_只包含一個或另一個,但放入1個版本會打破另一個。 – matthewdunnam 2011-01-21 17:52:18