iframe的不同布局

Arw*_*wed 4 iframe ruby-on-rails

我有一个rails应用程序,其中包含其他网站需要通过iframe访问的内容.我在网站上显示的内容应该有不同的布局(没有菜单栏等)我创建了一个名为iframe.html.erb的新布局文件如何检查页面是否从外部iframe调用,以便正确的布局文件用来?

Adr*_*fin 8

据我所知,你在做什么

<iframe src="www.google.pl"></iframe>
Run Code Online (Sandbox Code Playgroud)

您无法控制iframe中页面显示的布局或样式,除非您拥有该页面并且可以使其看起来像您喜欢的任何内容.

EDITED

如果您显示自己的网站,请执行以下操作:

<iframe src="/some_site_that_i_can_change_code_in?from=iframe"></iframe>
Run Code Online (Sandbox Code Playgroud)

然后在some_site_that_i_can_change_code_in的控制器中:

if params[:from] == "iframe"
  render :layout => "for_iframe"
else
  render :layout => "normal"
end
Run Code Online (Sandbox Code Playgroud)


Chr*_* C. 5

在提供iframe时控制特定布局和内容的好方法是注册"iframe"mimetype.

## config/initializers/mime_types.rb

Mime::Type.register 'text/html', "iframe"
Run Code Online (Sandbox Code Playgroud)

创建一个与所服务的控制器操作相匹配的视图,即:show.iframe.haml.然后,当一个请求进来时format: iframe它将呈现iframe版本.

这样,您就可以准确控制其他网站上iframe中的内容.无需在控制器中疯狂.