移动Web应用程序和Facebook Connect的空白屏幕

时间:2012-03-15 09:16:36

标签: iphone ios facebook webview facebook-javascript-sdk

我正在构建一个可以在iPhone上打开全屏的网络应用程序,并且正在关注Facebook移动网站的代码,可以在以下网址找到:https://developers.facebook.com/docs/guides/mobile/web/

当我尝试使用Facebook登录页面登录时,单击“登录”按钮后出现空白屏幕。用户登录但是..我知道这一点,因为如果我关闭并重新打开网络应用程序,我会检查登录状态并尝试获取一些用户信息,并且工作正常。

我在这里见过其他人:blank white screen after FB login via web app?

似乎有人确定了一种解决方法,但我无法让它发挥作用。我正在使用的代码是:

   function loginUser() {    
     FB.login(function(response) { }, {scope:'email'});    
     }

其他人表示我需要在此处使用解决方法:

login({scope:'email', redirect_uri:'where_to_go_when_login_ends'})

有谁知道如何合并这些代码以使其工作?

谢谢!

2 个答案:

答案 0 :(得分:1)

问题在于登录窗口通常作为弹出窗口打开。但是,在(iOS)Web应用程序中,由于某种原因,这种方式得不到适当支持。

通过提供普通链接而不是FB自己的登录btn脚本,登录过程保持在同一窗口内(包括重定向过程!)

我希望这有助于任何人...

<a href="https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES">LOGIN!</a>

答案 1 :(得分:0)

试试this,它对我有用:

FB.login(function(response) {
    //deal with response
}, {scope:'permissions', redirect_uri:'url to redirect to'} );