如何在phonegap子浏览器和主应用程序之间发送和接收数据

时间:2012-11-08 04:46:51

标签: facebook cordova phonegap-plugins

我正在Phonegap子浏览器中进行Facebook登录身份验证。对于外部我有一个页面可以启动身份验证过程并在身份验证后重定向(让我们说www.mysite.com/Facebook.html)。现在我有来自Facebook的真实用户,但是如何从子浏览器到主应用程序并关闭子浏览器获得真实的用户数据。出于安全原因,我设置了" showLocationBar:false" ,所以没有关闭按钮。

所以,现在让我知道

  • 如何将Facebook经过身份验证的用户数据(用户电子邮件和访问令牌用于与Facebook的进一步交易)获取到主应用程序并关闭子浏览器。
  • 如何从儿童浏览器关闭子浏览器,因为我没有在儿童浏览器上关闭按钮。
  • 有没有办法将数据从Facebook保存到我的主应用程序中的JavaScript对象

这是我在Phonegap上的第一个应用程序,但我对Facebook和JavaScript经验丰富。所以,如果我错在哪里,请告诉我。

提前致谢, 期待。

2 个答案:

答案 0 :(得分:1)

我也在使用chilldbrowser进行Facebook连接。以下是使用childbrowser进行Facebook连接的完整源代码的链接:http://www.drewdahlman.com/meusLabs/?p=88。您可以使用以下代码使用access_token获取用户名:

 var params='access_token='+accessToken;
 $.get("https://graph.facebook.com/me",params, 
            function(response){
                fbUesrName=response.name;
                },"json");  

您可以使用以下方式关闭子浏览器:

window.plugins.childBrowser.close();

答案 1 :(得分:0)

@Venkat:不确定您是否已经从应用程序中获得关闭子浏览器的答案。这段代码对我有用。在您的网站上放置一个关闭按钮,并将URL设置为“google.com”。从PG应用程序,您可以编写下面的代码

       window.plugins.childBrowser.onLocationChange = function(locationLink){
    if (locationLink.indexOf('google.com') > 0) {
                window.plugins.childBrowser.close();
              }
      }