Кнопка входа в FB не вызывает функцию onlogin - PullRequest
3 голосов
/ 04 ноября 2010

У меня есть кнопка входа в fb, созданная следующим образом:

<fb:login-button perms="email" size="small" onlogin="check_login_session()">Sign Up Using Facebook</fb:login-button>

Я также определил функцию check_login_session, так как я использую ее по ссылке .click в другом месте страницы (которая работает).Однако моя проблема заключается в том, что когда я уже вошел в FB и нажимаю кнопку, появляется всплывающее окно FB, затем оно исчезает и ничего не делает.Онлогин не вызывается и не отображается никаких ошибок.

Если я выйду из системы, а затем нажму кнопку, она выдаст приглашение fb login, а после заполнения и отправки будет вести себя как положено.Проблема возникает только тогда, когда я уже вошел в систему и нажимаю кнопку входа в FB.Любые идеи?

Редактировать: Я обнаружил, что он вызывает его, если я говорю «добавить предупреждение» («Тест») в onlogin, но любая функция, которую я определяю на странице и пытаюсь вызвать ее, возвращает сообщение, что она не определена.

Ответы [ 4 ]

3 голосов
/ 12 июля 2013

Я думаю, что вы хотите получать уведомления о вошедшем в систему пользователе либо после того, как вход в систему произошел, либо о том, что пользователь зашел на страницу и уже вошел в систему. В этом случае вы должны подписаться на событие auth и обработать его:

FB.Event.subscribe ('auth.authResponseChange', функция (ответ) {if (response.status === 'connected') {// ваш код} иначе if (response.status === 'not_authorized)') {// ваш код} else {// ваш код}});

2 голосов
/ 26 мая 2011

В новом потоке входа в Facebook говорится, что кнопка входа в Facebook отображается только в том случае, если пользователь не вошел в Facebook.Если вы все равно отобразите его, при нажатии на него ничего не произойдет, потому что он обнаружит, что пользователь уже вошел в Facebook, и, таким образом, выйдет из процесса входа в систему, и ловушка после входа в систему не будет вызываться.В документации Facebook говорится, что сначала нужно определить, вошел ли пользователь в facebook, и, если они вошли в систему, возьмите uid в facebook и просто выполните функцию, которую вы бы вызвали, как часть ловушки после входа в систему.Кнопка входа в Facebook - это просто кнопка для входа в Facebook, а не кнопка для входа на ваш сайт.

1 голос
/ 04 ноября 2010

Событие сообщает onlogin, поэтому оно будет выполняться только при входе через Facebook Connect.

Если вы уже вошли в Facebook Connect, функция не будет работать, потому что вы уже вошли в систему ...?

0 голосов
/ 25 сентября 2014

Скорее всего, функция, которую вы пытаетесь вызвать, недоступна на этой странице, даже если вы думаете, что она должна быть. Убедитесь, что вы удалили () после имени функции. Тот факт, что «оповещение» работает, но ваша функция не доказывает это. Убедитесь, что сценарий доступен для вашей функции, сделав его глобальным и загрузив сценарий.

...