【发布时间】:2010-12-31 09:38:10
【问题描述】:
我正在尝试通过 iPhone webapp 使用 Facebook Connect,因此它看起来类似于在使用 Facebook Connect iPhone SDK 的原生 iPhone 应用程序中的外观。
iPhone SDK 通过访问获得漂亮的登录页面:
http://www.facebook.com/login.php?fbconnect=1&connect_display=touch&api_key=<key>&next=fbconnect://success
(见http://github.com/facebook/facebook-iphone-sdk/blob/master/src/FBLoginDialog.m)
由于我不想打开 Safari,我看到显示此页面的唯一方法是使用 iframe。
然后就是检测成功和失败的问题。
SDK 可以通过简单地使用webView:shouldStartLoadWithRequest: 委托方法并检查fbconnect://success 和fbconnect://cancel 来做到这一点。
据我所知,父页面无法监控iframe的URL。
我可以从父页面打开一个到服务器的 Comet 连接,并让 Facebook 重定向到我的服务器,然后它会通知父页面成功。但我不喜欢仅仅因为这个而将服务器组件引入我的 web 应用程序的想法。
有人有什么聪明的主意吗?
编辑:这是关于网络应用,而不是原生应用。
【问题讨论】:
-
您找到解决此问题的方法了吗? OpenID 也有同样的问题,很想看看你想出了什么。谢谢!
-
我实际上正要发布这个完全相同的问题。我没想过把它放在 iframe 中——这是个好主意。
标签: iphone facebook web-applications