Facebook授权对话框无法在画布中加载

时间:2014-06-10 15:14:35

标签: javascript facebook canvas

我将Facebook(PHP SDK)登录添加到我的画布应用程序。

当用户打开页面并且他们尚未获得授权时,我创建了这样的授权页面URL:

$data['fb_url'] = $this->facebook->getLoginUrl(array(
                'scope'=>'email, user_friends',
                'redirect_uri'=>'http://domain.com/error/',
                'display'=>'page'
            ));

网址有效(我尝试将其复制粘贴到我的浏览器中)。它显示用户需要为应用程序提供所需权限的页面。一切正常。

但是,此时我想将用户重定向到此网址。这就是出现问题的地方。浏览器(实际上只是画布iframe)重定向到空白页面。什么都没发生。使用PHP重定向以及在页面加载时使用Javascript重定向时,也可以实现相同目的。

当我在页面上放置一个按钮,用户可以点击该按钮进入URL时,它还会在画布中打开一个银行页面。

唯一可行的方法是当我用target=_blank打开它时,它会作为新的浏览器标签打开。但是,在这种情况下,我离开了打开的应用程序页面。

总结一下,我可以在画布中打开这个对话框吗?如果没有,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

如下面的文档所述,使用redirect-url方法时应使用target="_top"https://developers.facebook.com/docs/facebook-login/using-login-with-games#login