Как эта функция выполняется самостоятельно? - PullRequest
4 голосов
/ 10 июня 2011

У меня есть следующий код (который является инициализацией API Facebook), Я не понимаю, почему этот фрагмент кода работает под нагрузкой, не вызываясь нигде в коде!

Самое смешное, что когда я удаляю fbAsyncInit function «обертку», она работает так же! так как FB.init вызывается без вызова fbAsyncInit где-либо еще?

window.fbAsyncInit = function() {
    FB.init({appId: '00000000000000000', status: true, cookie: true, xfbml: true});
    FB.getLoginStatus(function(response) {
        if (response.session) {
            console.log('User is logged in.');
            FB.api("/me?fields=name,picture", handleMe);
        }
        else {
            console.log('User is not logged in.');
            window.location = "http://wall-et.com/index.php/test/login/";
        }
    });
};

1 Ответ

3 голосов
/ 10 июня 2011

Чтобы это работало, вам нужно включить скрипт на Facebook (возможно, connect.facebook.net / en_US / all.js ) на вашей странице.

Сценарий запускается window.fbAsyncInit из window.setTimeout(..., 0), в результате чего ваш код запускается после полной загрузки и инициализации сценария Facebook.

...