Я использую самую последнюю версию php api sdk в facebook. Я пытаюсь заставить кнопку входа в систему активировать всплывающее окно, а не открывать полную страницу. Я попытался использовать этот учебник: http://thinkdiff.net/facebook/create-facebook-popup-authentication-window-using-php-and-javascript/
Всплывающее окно работало, но когда я вошел в систему, вместо закрытия всплывающего окна, веб-сайт просто открывался во всплывающем окне.
Кто-нибудь знает, что мне нужно сделать, чтобы закрыть всплывающее окно после входа в систему?
Вот мой php-код для генерации URL-адреса входа:
<?php $loginUrl = $me_on_facebook->getLoginUrl(array( 'display' => 'popup', 'next' => $config['baseurl'], 'redirect_uri' => $config['baseurl'], 'scope' => 'email' )); ?>
Когда загружается окно ввода всплывающих окон и пользователь подписывается / подключается, ящик затем загружает сайт с помощью кода = XXX, присоединенного к URL-адресу. Поэтому для сайта я добавил оператор php if
<?php if (isset($_REQUEST['state']) && isset($_REQUEST['code'])) { echo "<script> window.close(); window.opener.location.reload(); </script>"; } else { // load page } ?>
Это закрывает всплывающее окно и перезагружает исходную страницу, которая инициировала всплывающее окно.
Вы должны использовать SDK для Javascript Facebook и разрешить пользователю использовать функцию Javascript FB.login (). Учебник находится здесь http://developers.facebook.com/docs/reference/javascript/FB.login/