ライブラリを初期化します。
一般的なオプションを指定した初期化は以下の通りです。
<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>
このコードを設置する最適な場所は</body>タグの直前です。
Asynchronous Loading
fbAsyncInitフックを用いる事で、非同期読み込みでの利用が簡単にできます。このグローバル
関数が定義されている場合、ライブラリが読み込まれた段階で実行されます。<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
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
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
非同期版のコードを設置するベストな場所は<body>タグの直後です。ここに置くとページの読み込みと平行してFacebook初期化を行う事が可能となります。
注意:stream.publishやstream.shareのようなUIメソッドは、アプリケーション登録やFB.init実行無しに利用できます。appIdを指定する場合、全てのメソッドはこの関数の後に書かれる必要があります。
Custom Channel URL
これは既知の問題の一部を解決するためのオプション値です。まず1つ目として、自動再生するオーディオ/ビデオが含まれている場合、クロスドメインでのコミュニケーションの為にバックグラウンドで再度ページが読み込まれ、ユーザはオーディオを二重に聴いてしまう事があります。2つ目に、壊れたフレームのコードを含んでいる場合、空のページが開かれてしまうことがあります。最後に、この方法により、サーバサイドのログが二重になってしまうのを防ぐ事ができます。これらの状況では、オプション値であるchannelUrlパラメータを指定する事ができます。
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'YOUR APP ID',
channelUrl : 'http://example.com/channel.html' // custom channel
});
</script>
channel.htmlファイルの中身は以下の一行のみです。 <script src="http://connect.facebook.net/en_US/all.js"></script>
channelUrlに含むURLは絶対パスで書かれていなくてはなりません。document.domainを変更した場合、channel.htmlファイルのdocument.domainも同様に変更するのは開発者の責任です。プロトコルも一致しなくてはいけない事を覚えておいてください。アプリケーションがhttpsで動作するなら、channelUrlのプロトコルもhttpsです。
scriptタグのsrcにも同じプロトコルを指定します。また、有効なExpiresヘッダを送り、channelファイルがブラウザにキャッシュされる事を保証します。キャッシュ期限は無期限にする事をお薦めします。スムーズなユーザ体験を提供するにはとても大切な事です。これ無しには、クロスドメインのコミュニケーションはとても遅くなってしまいます。
重要:channelUrlを指定しない場合、正確なカウントを得る為に以下をログから除外すべきです。
- "facebookexternalhit/*"に一致するUA
- "fb_xd_bust" もしくは "fb_xd_fragment"を含むページビュー
- Track clicks from FB-hosted iframes separately from referrers (http://www.facebook.com/plugins/ http://www.facebook.com/plugins/like.php
Parameters
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options | Object |
|