【问题标题】:Include html file in html using html5 [duplicate]使用html5在html中包含html文件[重复]
【发布时间】:2012-01-25 10:48:21
【问题描述】:

我有 2 个 HTML 文件,假设 a.htmlb.html。在a.html 中我想包含b.html

在 JSF 中我可以这样做:

<ui:include src="b.xhtml" />

这意味着在a.xhtml文件中,我可以包含b.xhtml

我们如何在*.html文件中做到这一点?

使用 html 5(如果可以在 html 5 中完成的话)。

【问题讨论】:

    标签: html


    【解决方案1】:

    令人惊讶的是,同样的问题被问到了,并且有可能:HTML5 include file

    拉法的回答:


    使用object标签:

    <object name="foo" type="text/html" data="foo.inc"></object>
    

    foo.inc 应该包含有效的 HTML。


    我在 Konqueror、Firefox 和 Chromium 上对其进行了测试。

    请注意,您必须使用单独的 &lt;/object&gt; 标记,否则任何内容都将被丢弃。

    如果您觉得它有用(我愿意),请点赞 Rafa 的答案(不是我的),因为“不可能”像疾病一样传播。

    【讨论】:

    • 这是一件可怕的事情。
    • 对设计模型非常有用...
    • +1 但W3C validator 不喜欢它,并且“包含”之后的东西没有显示(在 Chrome 中,我没有测试其他浏览器)。 W3C 反对自闭标签。我用结尾 &lt;/object&gt; 替换了它,它验证并显示了以下内容。
    • HTML 不是预处理器语言。此解决方案不稳定,无法保证正确行为。
    • Ian Devlin - 说“这是一件可怕的事情。”似乎没有用。如果可怕,那为什么呢? (即,如果答案是有更好的替代方案,请说出它们是什么。您是否认为服务器端包含?包括带有脚本(js、php、ruby)的文件?如果您有更好的方法,请说出那是什么,或者什么也不说。顺便说一句,在我看来,替代方案都有明显的缺点,主要是更复杂的代码(如果有人只知道 HTML)和潜在的“服务器缺乏控制”,这使得这种方法值得考虑。
    【解决方案2】:

    如果您的服务器支持 SSI(包括服务器端),您可以将以下内容放入您的 html 文件中,而无需脚本语言或其他任何东西。 Apache 默认启用 SSI(我认为?)

    <!--#include file="same_path_file.html" -->
    <!--#include virtual="docroot_file.html" -->
    

    “文件”是相对于当前文件的,可能您会使用它来包含“relevant_article_poll.html”等相关文件。

    “虚拟”相对于文档根目录(即您的网站根目录),您可以使用它来包含全局文件,例如页眉和页脚。

    你选择哪一个并不重要,但了解两者之间的区别很有用。

    此外,include 指令为每个文件向服务器发出一个新的内部 http 请求,因此您可以包含 php 文件等,它们将按应有的方式执行。

    以下是 SSI 的有用概述:http://en.wikipedia.org/wiki/Server_Side_Includes

    【讨论】:

    • 对于正在开发原型的 FE 开发人员来说,这是一个很棒且简单的选择。它使得在另一个框架(即 AEM)中分解组件开发的标记变得更加容易。
    【解决方案3】:

    要在 HTML5 中使用 PHP 包含函数,您只需编辑 .htaccess 文件,如下所示:

        <Files *.html>
    ForceType application/x-httpd-php
    </Files>
    

    现在您可以像这样在 html 文件中使用任何 PHP 代码:

    <?php include 'menu.html'; ?>
    

    干杯 ;)

    【讨论】:

      【解决方案4】:

      在这个意义上,HTML5 与 HTML 4.01 没有什么不同,因为没有某种脚本就无法做到这一点。

      【讨论】:

      • HTML 语言(任何版本)仅旨在成为用于链接文档的系统。绑定到 HTML 的两种主要语言是 CSS,它旨在对文档进行视觉样式化,以及 JavaScript,它是唯一可以处理诸如读取文件并将其内容插入 HTML 文档之类的可编写脚本的部分。然而,服务器端脚本是包含文件的最佳解决方案,因为这可以在 HTML 文档发送到客户端之前完成。简单地说,HTML 不能做包含,因为它从来没有被设计成,也不需要像其他语言那样做
      猜你喜欢
      • 2016-12-14
      • 1970-01-01
      • 2011-06-19
      • 2012-01-14
      • 2013-12-04
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      相关资源
      最近更新 更多