1

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

我已经阅读了 3 次说明并更改了所有可以想象的设置,但该应用程序仍会在 iframe 内的新 facebook 页面中打开。有什么想法吗?

它仅在我使用时出现

ensure_application_is_installed_by_facebook_user

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

ensure_authenticated_to_facebook

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

4

2 回答 2

1

事实证明,由于 Facebook 的 API 发生了变化, ensure_application_is_installed_by_facebook_user 已被弃用。我计划很快用这些信息更新 Facebooker 文档。

于 2009-09-25T19:18:09.513 回答
1

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

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/

于 2009-10-14T19:05:19.013 回答