我在弹出窗口中使用 Facebook Connect,效果很好。
1) “伪造” Facebook 登录按钮
截取按钮的屏幕截图,用带有属性的 a-tag 包装它的 img-tag
href="<?= $facebook->getLoginUrl(...); ?>"
onclick="facebookPopup(this.href); return false"
2) 创建 Javascript 弹窗函数
function facebookPopup (url) {
popup = window.open(url, "facebook_popup",
"width=620,height=400,status=no,scrollbars=no,resizable=no");
popup.focus();
}
3) 创建 FB Connect “登陆页面”
创建一个 php 文件,在用户完成连接对话框后处理用户的数据,例如,如果他是新用户,则保存他的用户名和 facebook-uid,或者如果他的 ID 已知,则只登录他。
然后关闭弹出窗口并通过 Javascript 刷新您的主页:
function CloseAndRefresh()
{
window.opener.location.href = window.opener.location.href;
window.close();
}
您可以通过<body onload='CloseAndRefresh()'>触发该功能
请记住在 Login-Url (redirect_uri) 中指定您的登录页面的 URL。
此外,如果您在登录 URL 中指定 'display'=>'popup',它将显示“Permission Request”-Dialog 的精简版本。