ユーザーがログインした後、Facebook APIログインポップアップを閉じて、ユーザーがFacebook画像でログインをクリックした後、ポップアップが正常に開き、ユーザーがポップアップウィンドウにログインした後、ポップアップはそこに残り、正常にログインしたWebサイトにリダイレクトしますただし、ユーザーが正常にログインした後にポップアップを閉じ、親ログインページをメインページにリダイレクトします。
ありがとうございました、
これが私がしたことです:
Javascriptのもの:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $_setting['facebook_api']; ?>',
channelUrl : '//<?php echo $website; ?>/channel.html',
status : true,
cookie : true,
xfbml : true
});
};
(function(d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<script type="text/javascript">
function popup(url)
{
var width = 600;
var height = 400;
var left = (screen.width - width)/2;
var top = (screen.height - height)/2;
var params = 'width='+width+', height='+height;
params += ', top='+top+', left='+left;
params += ', directories=no';
params += ', location=no';
params += ', menubar=no';
params += ', resizable=no';
params += ', scrollbars=no';
params += ', status=no';
params += ', toolbar=no';
newwin=window.open(url,'FB', params);
opener.location.reload();
if (window.focus) {newwin.focus()}
return false;
}
</script>
ユーザーログイン部分:
<a href="javascript:void(0)"
onclick="popup('https://www.facebook.com/dialog/oauth?client_id=<?php echo $_setting['facebook_api']; ?>
&redirect_uri=<?php echo urlencode($website."/index.php"); ?>
&cancel_url=<?php echo urlencode($website."/register"); ?>
&scope=email')">
<img src="<?php echo $website; ?>/images/fb.png" /></a>