javascript - 防止弹窗被拦截

标签 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' });

最佳答案

你可以做类似的事情-

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");
      }

这将直接重定向而不是打开弹出窗口

关于javascript - 防止弹窗被拦截,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956359/

相关文章:

javascript - EventListener 的匿名函数和传递给 EventListener 的定义函数的工作方式不同吗?

jQuery 弹出 div 位于我选择的元素旁边

android - 使用图像图标在 Facebook 上分享 Android 应用程序

java - 创建 Facebook session 用于登录的正确方法?

jquery - 在弹出的JSF中显示错误消息

c# - Web浏览器对话框弹出 block

javascript - jquery 插件中的 .on ("click.stupidtable") 是什么?

javascript - 在 asp.net 中加载页面时如何添加 Ajax 加载器?

javascript - touchstart 处理程序在 iframe 中包装时会弄乱文本输入的焦点

ios - Swift facebook 在 uitableview 中标记 friend