問題は、Facebook API の準備が整う前にページが読み込まれることです。また、ユーザーが Facebook 接続ボタンをクリックすると、変数 FB は定義されません。
現在、document.ready に Facebook API をロードしています。
カスタム イベントをトリガーする回避策を見つけました。
mobileinit イベントで Facebook API をロードするのは良い解決策ですか? 他のすべてのスクリプトの前に一度だけロードされますか?
コード :
$(document).on("mobileinit", function(){
$.ajaxSetup({ cache: true });
$.getScript('//connect.facebook.net/en_US/all.js', function(){
window.fbAsyncInit = function() {
FB.init({
appId: 'appid',
channelUrl: 'channel.html',
//status: true,
cookie: true,
xfbml: true
});
$(document).trigger("facebook:ready");
}
});
});
回答ありがとうございます