Я использую Facebook как систему членства на моем веб-сайте. Он использует код для создания элемента управления входами, что позволяет пользователям регистрироваться через свою учетную запись на facebook. Это по сути один клик, если они уже являются членами, 2, если они не являются (для предоставления разрешений).
У меня возникла проблема, хотя... обратная связь предполагает, что кнопка входа не всегда правильно загружается. Вместо того, чтобы загружать контроль входа в facebook, он просто указывает (в тексте) "логин через facebook" - это то, что кнопка входа в систему сообщит, если элемент управления загружен успешно.
Тестирование показывает, что это происходит, когда фреймворк javascript SDK полностью не загружается (по какой-либо причине). Я видел экземпляры, где # в URL-адресе не позволяет загружать SDK.
Чтобы лучше поддерживать эту проблему, как я могу узнать, загружен ли загрузочный фреймворк javascript в facebook и готов ли он? Таким образом, если это не удается, я могу оставить для пользователя заметку.
Вот как он в настоящее время добавляется на страницу:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '***************',
status: true,
cookie: true,
xfbml: true
});
FB.Event.subscribe('auth.login', function (response) {
window.location.reload();
});
};
(function () {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
} ());
</script>