gpt4 book ai didi

iphone - 如何在 iPhone 网络应用程序中使用 Facebook Connect

转载 作者:行者123 更新时间:2023-11-30 05:14:46 24 4
gpt4 key购买 nike

我正在尝试从 iPhone webapp 使用 Facebook Connect,因此它看起来类似于在使用 Facebook Connect iPhone SDK 的 native 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: 委托(delegate)方法并检查 fbconnect://successfbconnect://cancel< 即可完成此操作.

据我所知,父页面无法监听iframe的url。

我可以从父页面打开到服务器的 Comet 连接,让 Facebook 重定向到我的服务器,然后它会在成功时通知父页面。但我不喜欢仅仅因为这个而将服务器组件引入我的 webapp 的想法。

有没有人有什么妙招?

编辑:这是关于网络应用,而不是原生应用。

最佳答案

好的,这只是一个小测试,但我试过了:

var iframe = $("<iframe src='http://google.com'></iframe");
$("body").append(iframe);
$("body").find("iframe:last").attr("src"); // => http://google.com

它似乎工作正常。我遇到了同样的问题,所以今晚我将在我的应用程序中尝试同样的解决方案。我不想做一个不断检查 SRC 的间隔,所以我会看看我是否可以在该 SRC 更改时触发事件。

处理 Comet 的另一种方法是 WebSockets。一个不错的、易于处理的服务是 PusherApp (无论如何我已经在我的应用程序中使用它),所以如果我不知道如何在 iframe SRC 属性更改后触发事件,我可能只是将“auth_succeeded”事件推送给客户端并处理它方式。

感谢 iframe 创意。我想知道如何在不生成 Safari 窗口并将其从我的应用程序中取出的情况下在 iPhone 网络应用程序中支持 FB Connect。

关于iphone - 如何在 iPhone 网络应用程序中使用 Facebook Connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com