在div上单击调整iframe和窗口的大小

时间:2014-09-08 23:59:49

标签: javascript jquery ruby-on-rails ruby iframe

我和一群决定使用Ruby on Rails进行数据库管理的人建立了一个板球注册网站。我们还尝试将其设为一页,因此我目前在iFrame上加载了注册表单。我知道这不是理想的,如果我们使用PHP,我可以使用Ajax,但我不知道使用iFrame的任何其他方式。这样做的难点在于,当单击其中的按钮时,我无法调整这些iFrame的大小。例如,有这样的:

<div class="links">
    <%= link_to_add_association 'Add Player', f, :players %>
</div>

这是“&#39;链接”中的一个按钮。说“#34;添加播放器&#34;”的课程。点击后,它会向下扩展内容,填充更多表单以填充。但是,由于Iframe已经具有它的高度,因此它没有正确调整,使额外的内容隐藏。

有什么方法可以解决这个问题吗?或者,有什么方法可以避免使用iFrame,同时仍然保持一页面的方面?

干杯!

1 个答案:

答案 0 :(得分:0)

有一个iframe onload事件可以覆盖你iframe的现有高度。让我们说:

<iframe id='stipsImage' onload='iFrameLoaded()' src='http://...' />...</iframe>

然后在你的javascript:

//apply css on iframe when ready
iFrameLoaded() {
    $('#stipsImage').contents().find("body")
          .append($("<style> " +
                    " body{ text-align: center; } " +
                    " img{ width: 700px; height: 748px; margin: auto; border: 1px solid #ccc } " +
                         "</style> "));
    }