Facebook: пустой экран при входе в FB
внезапно я получаю странную вещь, происходящую в моем приложении при попытке войти в систему через facebook. Всплывающее диалоговое окно facebook connect покажет пустой экран после запроса сведений для входа в систему. Обычно я ожидал бы, что окно закроется, а затем сам сайт будет продолжаться, однако он, похоже, висел.
Я использую Javascript SDK on Localhost
вот код, который я использую (копирование непосредственно из документации facebook):
window.fbAsyncInit = function () {
FB.init({ appId: fbAppId,
status: false,
cookie: true,
xfbml: true
});
};
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
$(document).ready(function () {
$("#fb_button_login").click(function () {
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
});
некоторые другие Примечания:
- это, похоже, происходит во всех браузерах.
- Я исследовал все другие сообщения и не могу найти решение, которое работает для меня
- в консоли нет сообщений об ошибках
- при разработке я использую отдельный идентификатор приложения FB, который я настроил специально для localhost с указанным портом, который я использую (работал нормально более 12 месяцев)
- у меня нет режима песочницы включено
URL, который он, похоже, висит на здесь
Спасибо, ребята.
2 ответов
похоже на баг: https://developers.facebook.com/bugs/241915819261223?browse=search_4ff2ead131a032989098325
из комментариев в приведенной выше ссылке вы можете попробовать запустить приложение на порту 80 и избежать части порта в url
попробуйте следующий код
<html>
<body>
<div id="fb-root"></div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js" ></script>
<script>
FB.init({appId: fbAppId, status: true, cookie: true, xfbml: true});
$(document).ready(function () {
$("#fb_button_login").click(function () {
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
});
</script>
<a href="javascript://" id="fb_button_login">Login</a>
</body>
</html>