У старого JS SDK была функция FB.ensureInit. Новый SDK, похоже, не имеет такой функции... как я могу гарантировать, что я не делаю вызовы api, пока он не будет полностью запущен?
Я включаю это в начало каждой страницы:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $conf['fb']['appid']; ?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Canvas.setAutoResize();
};
(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>