问题是页面在 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");
}
});
});
感谢您的回答