【问题标题】:HTML5 and <frame> tagHTML5 和 <frame> 标签
【发布时间】:2011-05-20 17:38:13
【问题描述】:

我正在开发电子邮件爆炸创建器应用程序,该应用程序允许用户构建和发送 HTML 电子邮件。用户可以输入一些数据,从列表中选择一个模板,单击预览,无需刷新即可在当前页面中查看生成的页面。我正在使用 AJAX POST 请求将数据提交到服务器并获取生成的 HTML 代码 - 带有 &lt;html&gt;&lt;head&gt;&lt;body&gt; 标记的完整页面。在 HTML5 之前,我会将生成的页面插入到 &lt;frame&gt; 标记中。因为&lt;frame&gt; 标签在 HTML5 中已被弃用,我如何在另一个页面中显示此页面?我不能使用&lt;iframe src="/preview..."&gt;&lt;/iframe&gt;,因为我正在使用 POST 并且没有可以用作 iframe src 的 URL。

【问题讨论】:

  • 你不能(根据定义)在没有 URL 的情况下发出 POST 请求
  • 框架和 iframe 之间实际上没有显着区别,只是一个放在框架集中,另一个放在常规文档中。

标签: javascript jquery html iframe


【解决方案1】:

保持iframe 为空白(没有src),直到你有一个URI 可以使用。就像您对 frame 所做的那样。

创建一个包含骨架内容的页面:

<html>
<body>
</body>
</html>

并将其用作iframe 的初始页面。然后你有一个document,你可以在上面执行你的DOM操作。

【讨论】:

  • 这在 HTML5 中是不可能的 - "...请注意,在以前的 HTML 版本中,您可以通过在开始和结束 标记中放置内容来创建“后备内容”。然而,在 HTML 5 中,code>
  • @Vincent: &lt;iframe /&gt; 在 HTML5 中无效?参数looks optional to me
  • 它是有效的,但是我不能在 内动态插入任何东西,它不会显示任何东西,我试过了。
【解决方案2】:

你考虑过opening a new window吗?

【讨论】:

  • 是的,但最好不要这样做。
  • 不适合作为最终用户的我。我有点不喜欢框架。
  • 我认为它非常用户友好,因为它看起来根本不像框架(没有滚动条等),您几乎在单击预览后立即看到它,您不必切换到另一个窗口或标签。
猜你喜欢
  • 1970-01-01
  • 2014-04-03
  • 2014-09-27
  • 1970-01-01
  • 2015-01-26
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多