Facebook API следит за FB._apiKey, поэтому вы можете наблюдать за этим, прежде чем вызывать свое собственное приложение API с чем-то вроде:
window.fbAsyncInit = function() {
FB.init({
//...your init object
});
function myUseOfFB(){
//...your FB API calls
};
function FBreadyState(){
if(FB._apiKey) return myUseOfFB();
setTimeout(FBreadyState, 100); // adjust time as-desired
};
FBreadyState();
};
Не уверен, что это имеет значение, но в моем случае --потому что я хотел быть уверен, что пользовательский интерфейс был готов - я завернул инициализацию с готовым документом jQuery (последний бит выше):
$(document).ready(FBreadyState);
Обратите внимание, что я НЕ использую async = true длязагрузите Facebook all.js, который, как мне кажется, помогает в входе в пользовательский интерфейс и более надежные функции вождения.