Rails 3.1 在视图中包含 iframe 会使布局停止渲染

2024-02-19

所以我有一个基本的布局文件:

<!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(使用前将#替换为@)

Rails 3.1 在视图中包含 iframe 会使布局停止渲染 的相关文章

随机推荐

  • 通过单击图像显示/隐藏 div

    我希望能够单击图像来显示 隐藏 div 带有文本 我已经对一张图像进行了此操作 但我有多个图像需要切换文本 JavaScript 代码 document ready function slidingDiv hide show hide sh
  • 比较 Realm 对象列表

    我想比较 2 个 Realm 对象列表 看看它们是否相同 这是该物体的样子 class ScheduleRealm Object let scheduleList List
  • 使用 JavaScript 在画布中获取鼠标位置

    我正在研究 jquery 和 html5 canvas 我想做的只是一个简单的 html5 绘图示例 当鼠标移动时 我在鼠标下方绘制红色方块 我的代码很简单 但在获取画布内的鼠标光标位置时遇到问题 现在 我正在使用 x event offs
  • 使用 EPPLUS 缓慢加载 .CSV 文件

    我有大量 csv 文件 需要在应用一些格式后将其转换为 xlsx 包含大约 20 000 行和 7 列的文件需要 12 分钟才能转换 如果文件包含超过 100 000 个 则运行时间 gt 1 小时 不幸的是 这对我来说是不能接受的 代码片
  • 不明白为什么我在 Mongoose Pre save hook 上收到错误警告

    我想使用预保存挂钩对我的密码进行哈希处理 我的密码得到了很好的哈希处理 但为什么我在预保存挂钩的 保存 方法名称上收到错误警告 错误警告 没有重载与此调用匹配 最后一次超载出现以下错误 类型 save 的参数不可分配给类型 RegExp 的
  • 无法使用 Firebase 和 Stripe 正确解析 Json

    错误是 线程 7 无法解析遵循协议 STPCustomerEphemeralKeyProvider 的临时密钥响应 请确保您的后端将临时密钥的未修改 JSON 发送到您的应用程序 有关详细信息 请参阅https stripe com doc
  • Corona SDK 跨设备屏幕分辨率

    这将是那些寻找可能不存在的答案的尴尬问题之一 但这里是 我一直在使用 Corona 开发一些简单的游戏 虽然该功能似乎在我测试过的大多数物理设备上运行得很好 但一个主要问题是布局 我知道您无法真正完美地为每个设备构建 但我想知道是否有一种通
  • 如何确定 System.IO.IOException 的 HResult?

    System Exception HResult 属性受到保护 如何在不诉诸反射或其他丑陋黑客的情况下查看异常内部并获取 HResult 情况是这样的 我想编写一个备份工具 它可以打开并读取系统上的文件 我使用 FileAccess Rea
  • 为什么 vue 中的“@drop”事件对我不起作用?

    The drop听众对我不起作用 它没有调用我告诉它调用的方法 我想拖动芯片并能够将其放在另一个组件上 并执行某个功能 但是在放下芯片时 dropLink方法没有执行 所以我假设 drop事件未发出 控制台上没有显示任何错误 其余的活动效果
  • 日期:额外操作数 %d' 错误

    我有一个文本日志文件 格式如下 Thread 28689296 Thu Aug 25 15 18 41 2016 info xxxxx xxxxxx xxxxx 所以我想运行 cron 作业来查找最后几分钟内的一些特定错误消息 我写了以下命
  • 在 Android 上关闭应用程序并启动主屏幕

    我有两项不同的活动 第一个启动第二个 在第二个活动中 我调用System exit 0 为了强制应用程序关闭 但第一个 Activity 会自动显示 而不是应用程序返回主屏幕 如何避免这种情况 并使应用程序返回主屏幕 简短回答 call m
  • 如何在 Eclipse 中替换/删除以特定单词开头的行?

    在某些情况下 我必须替换 删除以特定单词开头的行 例如 public private Java 类或
  • 将 Go 测试输出转换为 XUnit

    如何获得 XUnit 格式的 Go 测试库输出以便与 Jenkins 集成 没有命令行选项可以输出为 XML 或 XUnit 格式go test 有一个不错的小插件可以转换 https github com tebeka go2xunit
  • 无法从 Javascript 中的匿名回调函数将项目推入数组

    我遇到了一个 javascript 问题 这让我完全发疯了 我有一个数据集合 正在使用 jQuery each 方法对其进行迭代 在 each 回调函数内 我将数据推送到数组上 这是代码 var p procedure tool all p
  • 如何指定多行shell变量?

    我写了一个查询 function print ui hosts local sql select print sql sql 本地 sql 一个很长的字符串 查询未格式化 如何将一个字符串分成多行 只需在必要时插入新行 sql SELECT
  • 未捕获的引用错误:未定义 mountNode

    请原谅我 我已经到处搜索过 而且我是reactjs 的新手并正在尝试示例 我有一个错误 Uncaught ReferenceError mountNode is not defined 我正在按照这里的例子http facebook git
  • 向类 org.springframework.web.context.ContextLoaderListener 的侦听器实例发送上下文初始化事件的异常

    我正在尝试实现 spring 安全登录 并且尝试过类似的操作 spring security xml
  • 什么是反向合并

    我看过一些关于 git flow 脚本的视频 其中出现的一个术语是 反向合并 例如hotfix 被合并到 master 中 然后又被合并到development 中 我假设反向合并是一个概念 而不是原生 git 命令 向后合并操作包含哪些具
  • Spring/Tomcat/Intellij 是否可以实现实时变更反馈?

    距离下一个项目还有几周时间 我正在寻找 想要简化我们的开发流程 以便为 UX 和开发人员提供最短的更改验证时间 例如 Java 更改 10 秒 UX JS 1 秒 变化 基本上 我想要约翰 林德奎斯特在这部电影中展示的内容video htt
  • Rails 3.1 在视图中包含 iframe 会使布局停止渲染

    所以我有一个基本的布局文件