【问题标题】:Is that possible for a iframe to get the referer from main page in Rails 3?iframe 是否可以从 Rails 3 的主页中获取引用者?
【发布时间】:2012-12-30 10:38:17
【问题描述】:

iframe 是否可以从 Rails 3 的主页获取引用?

例如,页面 A 有一个 iframe,页面 B。我有一个从页面 C 指向页面 A 的超链接。页面 B 能否获得来自页面 C 的引用 URL? (我想将参数从 C 页传递到 B 页)

【问题讨论】:

  • 页面 A、B 和 C 是同一个应用程序的一部分,还是托管在不同的域中?
  • 页面 B 和 C 是同一个应用程序,都是 iframe。虽然页面 A 是不同的域。

标签: ruby-on-rails-3 iframe http-referer


【解决方案1】:

严格来说,浏览器会为 iFrame 传递referer 标头,尽管我不会指望这种行为。这是一个糟糕的设计,因为任何东西都可能破坏它。例如,用户可以在 Firefox 中使用高级设置关闭引用标头。

“页面 B”是您应用中的 Rails 页面吗?为什么不用这样的 URL 调用你的 iFrame: /controller/action?parent=a

然后在你的视图中行动

def show
  parent = params[:parent] || nil
  #do something based on parent being "a" or whatever you like
end

通过这种方式,您可以将所需的任何内容传递到 iFrame 中,并让它根据是否从 iFrame 调用等显示不同的链接返回到您喜欢的任何内容。

【讨论】:

  • 如果我用它的 url 调用 iframe 那么它就不再是 iframe 了吗?
  • 对不起,我没有正确阅读。问题是我无法将任何参数附加到父页面(页面 A)。
  • 嗯不知道你要去那里。但是您可以默认使用会话在它们之间传递信息。由于它存储为 cookie,因此它可以在 iFrame 上运行(只要它在同一个域中)。
猜你喜欢
  • 2011-02-17
  • 2011-12-25
  • 2011-01-10
  • 2012-02-25
  • 1970-01-01
  • 2017-01-27
  • 2010-10-15
  • 2019-06-03
  • 1970-01-01
相关资源
最近更新 更多