2011-08-24 192 views
1

我正在显示Facebook注册iframe厚框(iframe里面的iframe)。Facebook注册问题

(如果用户没有登录,按钮将显示给登录或其他登记表将直接示出。)

克罗姆是缓存的数据。因为这样登录到Facebook后,它显示错误,如“无效的client_id”(它不显示我的注册表格)。如果我重新加载父iframe即。 thickbox窗口注册表显示正常。

我想在登录Facebook后重新加载thickbox iframe。我可以如何获得这个控制?有没有任何JS代码可用于此?

这里是我的代码

<div id="content"> 
    <div class="reg-cont"> 
     <div id="fb-root"></div> 
     <script type="text/javascript"> 
      window.fbAsyncInit = function() { 
       FB.init({ 
        appId : '<?php echo $this->facebookAppId; ?>', 
        status : true, 
        cookie : true, 
        xfbml : true 
       }); 
       FB.getLoginStatus(function(response) { 
        if (response.status == "connected") { 
         window.location = "/facebook-login?facebook_uid=" + response.session.uid; 
        } 
       }); 
      }; 
     </script> 
     <fb:registration 
      fields="[ 
          {'name':'name'}, 
          {'name':'email'}, 
          {'name':'church', 'description':'Home Church', 'type':'select', 'options':<?php echo str_replace('"', "'", $this->church); ?>, 'default':'none'}, 
          {'name':'host', 'description':'Check this box if you are hosting your small group', 'type':'checkbox'} 
        ]" 
      redirect-uri="http://<?php echo $_SERVER['SERVER_NAME']; ?>/User/index/create-facebook-account" 
      fb_only="true" 
      width="530"> 
     </fb:registration> 
    </div> 
</div> 

回答

0

刷新上登录有针对性的iframe中。您将需要设置下面

FB.Event.subscribe('auth.login', function(response) { 
     top.frames['YourFrameName'].location.href = 'http://example.com/'; 
    }); 

<script type="text/javascript"> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId : '<?php echo $this->facebookAppId; ?>', 
       status : true, 
       cookie : true, 
       xfbml : true 
      }); 
      FB.getLoginStatus(function(response) { 
       if (response.status == "connected") { 
        window.location = "/facebook-login?facebook_uid=" + response.session.uid; 
       } 
      }); 
    FB.Event.subscribe('auth.login', function(response) { 
    top.frames['YourFrameName'].location.href = 'http://example.com/'; 
    }); 
     }; 
    </script> 
+0

此链接,和帧名称,如果用户登录Facebook将重定向页面。我需要在用户登录后显示注册块。 – Sahal