Javascript Facebook授权弹出窗口不显示';自动关闭
我正在使用中的以下代码并成功地实现了它,唯一的问题是用户成功登录后身份验证弹出窗口不会自动关闭Javascript Facebook授权弹出窗口不显示';自动关闭,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我正在使用中的以下代码并成功地实现了它,唯一的问题是用户成功登录后身份验证弹出窗口不会自动关闭 <div id="fb-root"></div> <script type="text/javascript"> var button; var userInfo; window.fbAsyncInit = function() { FB.init({ appId: 'YOUR_APP_ID', status
<div id="fb-root"></div>
<script type="text/javascript">
var button;
var userInfo;
window.fbAsyncInit = function() {
FB.init({ appId: 'YOUR_APP_ID',
status: true,
cookie: true,
xfbml: true,
oauth: true});
function updateButton(response) {
button = document.getElementById('fb-auth');
userInfo = document.getElementById('user-info');
if (response.authResponse) {
//user is already logged in and connected
FB.api('/me', function(info) {
login(response, info);
});
button.onclick = function() {
FB.logout(function(response) {
logout(response);
});
};
} else {
//user is not connected to your app or logged out
button.innerHTML = 'Login';
button.onclick = function() {
showLoader(true);
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(info) {
login(response, info);
});
} else {
//user cancelled login or did not grant authorization
}
}, {scope:'email,user_birthday,status_update,publish_stream,user_about_me'});
}
}
}
// run once with current status and whenever the status changes
FB.getLoginStatus(updateButton);
FB.Event.subscribe('auth.statusChange', updateButton);
};
(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);
}());
function login(response, info){
if (response.authResponse) {
var accessToken = response.authResponse.accessToken;
userInfo.innerHTML = '<img src="https://graph.facebook.com/' + info.id + '/picture">' + info.name + "<br /> Your Access Token: " + accessToken;
button.innerHTML = 'Logout';
document.getElementById('other').style.display = "block";
}
}
function logout(response){
userInfo.innerHTML = "";
document.getElementById('debug').innerHTML = "";
document.getElementById('other').style.display = "none";
}
}
</script>
<body>
<button id="fb-auth">Login</button>
var按钮;
var用户信息;
window.fbAsyninit=函数(){
FB.init({appId:'YOUR_APP_ID',
状态:正确,
曲奇:是的,
xfbml:是的,
oauth:true});
函数更新按钮(响应){
button=document.getElementById('fb-auth');
userInfo=document.getElementById('user-info');
if(response.authResponse){
//用户已登录并连接
FB.api('/me',函数(info){
登录(响应、信息);
});
button.onclick=函数(){
FB.注销(功能(响应){
注销(响应);
});
};
}否则{
//用户未连接到您的应用或未注销
button.innerHTML='Login';
button.onclick=函数(){
showLoader(真);
FB.登录(功能(响应){
if(response.authResponse){
FB.api('/me',函数(info){
登录(响应、信息);
});
}否则{
//用户已取消登录或未授予授权
}
},{范围:'email,user_birth,status_update,publish_stream,user_about_me'});
}
}
}
//使用当前状态运行一次,并在状态更改时运行一次
FB.getLoginStatus(更新按钮);
FB.Event.subscribe('auth.statusChange',updateButton);
};
(功能(){
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);
}());
函数登录(响应、信息){
if(response.authResponse){
var accessToken=response.authResponse.accessToken;
userInfo.innerHTML=''+info.name+“
您的访问令牌:“+accessToken;
button.innerHTML='Logout';
document.getElementById('other').style.display=“block”;
}
}
功能注销(响应){
userInfo.innerHTML=“”;
document.getElementById('debug').innerHTML=“”;
document.getElementById('other').style.display=“无”;
}
}
登录
您使用的是什么web浏览器?你在几个浏览器上测试过吗?除了operaYes,所有浏览器都可以使用,但为什么Opera,虽然我可以忽略它,但一定有原因…你安装了adblock吗?没有安装adblock,甚至没有安装PC security suite,只是新安装了windows和Opera