Ошибка JavaScript API Facebook в Safari: ошибка TypeError: «undefined» не является объектом (оценка «b.fbCallID = a.id») - PullRequest
1 голос
/ 20 декабря 2011

Примерно неделю назад (я полагаю, что при переходе на OAuth 2.0) при загрузке страницы в Safari возникает следующая ошибка: http://connect.facebook.net/en_US/all.js.

TypeError: 'undefined' is not an object (evaluating 'b.fbCallID=a.id')

Разметкаи JavaScript:

<fb:login-button scope="email">Login with Facebook</fb:login-button>

$(function() {
    FB.init({
        appId: '12345',
        cookie: true,
        status: true,
        xfbml: true
    });

    FB.login(function(response) {
        if (response.authResponse) {
          document.cookie = 'access_token=' + response.authResponse.accessToken;
          window.location.reload();
        }
    });
});

Ранее это работало нормально и все еще работает, как и ожидалось в Chrome.Кто-нибудь еще видел это?Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 20 декабря 2011

Мне удалось это исправить, изменив вызов FB.login на следующий:

FB.Event.subscribe('auth.login', function(response) {
    if (response.authResponse) {
        document.cookie = 'access_token=' + response.authResponse.accessToken;
        window.location.reload();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...