スクリプト参照を1回だけ含め、ページが読み込まれたときにスクリプトで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'});
}