在iframe app中使用Facebooker嵌套iframe

时间:2009-09-25 00:18:25

标签: ruby-on-rails iframe facebooker

有没有人在他们的Rails / Facebooker应用程序中遇到过嵌套的iframe? 基本上,每次单击某个操作或链接时,整个Facebook页面都会重新加载到我现有的iframe中,导致两个(以及每个后续点击时更多)facebook边框出现。

我已经完成了三次指示并更改了可以想象的每个设置,但应用程序仍然在iframe内的新Facebook页面中打开。任何人的想法?

只在我使用

时出现
ensure_application_is_installed_by_facebook_user

过滤,但如果用户已经安装了应用程序并且我使用

ensure_authenticated_to_facebook

过滤器,它工作正常......非常奇怪(至少对我而言)

2 个答案:

答案 0 :(得分:1)

由于Facebook的API发生了变化,因此不推荐使用ensure_application_is_installed_by_facebook_user。 我计划很快用这些信息更新Facebooker文档。

答案 1 :(得分:1)

我对嵌套的iframe经历了同样的事情,所以我使用了“ensure_authenticated_to_facebook”来代替。唯一的问题是,在用户安装应用程序后,它会将它们重定向到我的域而不是facebook iframe页面。在facebooker做了一些调整之后,我决定硬编码:canvas =>“true”在这个方法中,这是在lib / facebooker / rails / controller.rb第189行

def create_new_facebook_session_and_redirect!
      session[:facebook_session] = new_facebook_session
      next_url = after_facebook_login_url || default_after_facebook_login_url
      #top_redirect_to session[:facebook_session].login_url({:next => next_url, :canvas=>params[:fb_sig_in_canvas]}) unless @installation_required
      top_redirect_to session[:facebook_session].login_url({:next => next_url, :canvas=>"true"}) unless @installation_required
      false
end

我在博客中写了一篇关于此修复程序的教程 - http://railsrant.com/2009/10/14/creating-a-facebook-iframe-app-using-ruby-on-rails-facebooker/