Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Ошибка Facebook JavaScript API в Safari: TypeError: 'undefined' не является объектом (оценка 'b.fbCallID=a.id')

Автор вопроса: Bryan IraceОтветов: 1

Примерно неделю назад (я полагаю, переход на 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. Кто-нибудь еще видел это? Заранее спасибо за вашу помощь.

javascriptfacebooksafaritypeerrorfacebook-graph-api

Ответы

Ответ 1 · Bryan Irace

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы