所以我有一个基本的布局文件:
<!DOCTYPE html>
<html dir="ltr" lang="en-US">
<head>
<%= stylesheet_link_tag "logged_out" %>
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/ui-lightness/jquery-ui.css" %>
</head>
<body>
<!-- header stuff here -->
<%= yield %>
<!-- footer stuff here -->
</body>
</html>
对于任何普通的 html 都可以。但是,如果我将这样的 iframe 添加到视图中:
<iframe id="form" height="480" width="320" src="/mobile_preview/preview"/>
当我渲染页面时,所有内容都会渲染到 iframe 之前,但产量之后的页脚内容不会渲染。以前有人遇到过这个吗?
编辑:正如其中一个答案所指出的(谢谢!),我最初问题中的产量声明是错误的。我的代码中的yield语句是正确的,但这是转移到stackoverflow时的一个拼写错误。
注意:如果您尝试使用 jquery mobile 复制 iframe。
问题是你如何包含<iframe>
。您认为您包含了自关闭标签,它就到此结束了。但是您不会将页面作为 XML 发送,并且 HTML 没有自闭合标签的概念,它只是最后的垃圾。所以你的:
<iframe id="form" height="480" width="320" src="/mobile_preview/preview"/>
实际上被解释为:
<iframe id="form" height="480" width="320" src="/mobile_preview/preview">
页面的其余部分被解释为内部被忽略的内容<iframe>
标签。这就是为什么您不应该在 HTML 文档中使用自关闭标签的原因 - 它们实际上并不像您想象的那样工作。
将其更改为:
<iframe id="form" height="480" width="320" src="/mobile_preview/preview"></iframe>
如果您使用 Firebug 或 Chrome Inspector 查看解析的 DOM 树,您就可以找到它。
额外的好处是:它与 Rails 无关,服务器像以前一样返回响应,您可以在日志中看到它。这只是浏览器如何解释您的标记的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)