See*_*ema 12 javascript facebook popup
我在页面加载的代码中使用Facebook登录方法,但是当我执行此代码时,弹出窗口阻止程序会关闭Facebook权限窗口.
如何在Javascript
不需要在弹出窗口阻止程序中例外的情况下打开此窗口?
以下是我的代码:
FB.login(function(response)
{
if(response.session!=null)
{
window.location.href='http://example.com';
}
},
{ perms: 'email,user_birthday,publish_stream' });
Run Code Online (Sandbox Code Playgroud)
Rah*_*hul 20
你可以做点什么 -
var uri = encodeURI('http://example.com');
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
window.location.href=uri;
} else {
window.location = encodeURI("https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri="+uri+"&response_type=token");
}
Run Code Online (Sandbox Code Playgroud)
这只是直接重定向而不是打开弹出窗口
dub*_*lla 15
这在文档中明确否定:
"你应该只在用户事件上调用它,因为它会打开一个弹出窗口.大多数浏览器会阻止弹出窗口,除非它们是从用户事件启动的,例如点击按钮或链接."
它也只是糟糕的用户体验.
小智 6
是的,你需要用一个用户事件调用它,但严格来说是onclick
事件,而不是任何其他事件:
<a href="#" onclick="fbLogin()"> Login</a> <!-- works -->
<a href="#" onmousedown="fbLogin()"> Login</a> <!-- doesnt work -->
<a href="#" onmouseup="fbLogin()"> Login</a> <!-- doesnt work -->
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34588 次 |
最近记录: |