如何解决通过iframe查看自定义网站的最佳方法?
| 我有一个网站,用户需要以两种方式访问我们的资料: 来自网站本身 从嵌入到另一个网站的iframe中 我的网站可以很好地处理#1,现在我正尝试将其功能扩展到可以轻松嵌入的iframe。本质上,我需要摆脱网站标头,网站页脚,并为通过iframe显示的每个页面更改一些CSS(用户需要能够使用此iframe导航很多页面)。 尝试使用“ 0”标记时,我的网站出现了,但与通常情况一样,在iframe中显示了其标题栏,页脚等。 允许用户在更改布局和CSS的同时浏览我的网站的最佳方法是什么?解决方法
您可以通过将其添加到\“ domready \”事件(取决于框架)来检测是否正在通过Javascript从iframe查看页面:
var isInIFrame = (window.location != window.parent.location) ? true : false;
将受影响的区域包装在容器中,然后通过iframe将您想隐藏的东西“ѭ2”包裹起来。
, 我将为iframe页面制作另一种布局,例如app/views/layouts/iframe.html.erb
,它没有您通常的页眉和页脚,可能具有不同的CSS等。
然后,您只需要适当地使控制器动作在渲染时使用该布局即可。如果显式调用render,则可以执行以下操作:
render \"show\",:layout => \"iframe\"
但是在控制器级别设置它可能更简单:
class SomeController < ApplicationController
layout \"iframe\",:only => \"show\"
end
您还可以将选择正确布局的逻辑(无论是什么—我假设这并不是问题的重点)放入方法中:
class SomeController < ApplicationController
layout :current_layout
private
def current_layout
# Return the correct layout for the current request.
params[:iframe] ? \"iframe\" : \"application\"
end
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。