将外部 HTML 文件包含到另一个 HTML 文件中[重复]

Posted

技术标签:

【中文标题】将外部 HTML 文件包含到另一个 HTML 文件中[重复]【英文标题】:Including external HTML file to another HTML file [duplicate] 【发布时间】:2013-06-13 10:57:09 【问题描述】:

如何将外部 html 文件插入到我的文件中?

例如:

<div id="header">

       Here show the external HTML code in the file, for example: name.html

</div>

非常感谢!

【问题讨论】:

在制作新问题之前请检查类似的问题,我相信这个问题已经被问过很多次了。 如果还有其他问题有更好的答案,有人可以链接到他们吗?谢谢 @kapa 我投票重新打开,因为(1)链接的问题询问最佳实践,而这个问题询问了一个实用的操作方法问题,(2)链接的问题是关于模板通用的,这个特别是关于包含外部文件的内容(除了模板之外还有其他用途),(3)那个问题和这个问题的答案完全不同,几乎没有重叠。 为了扩展第 (2) 点,我需要知道如何包含外部文件,以便在 Anki 的抽认卡之间共享内容。另一个问题中的答案都不相关,因为它们都假设使用浏览器(例如使用 javascript)或网络服务器(例如使用 php)。此问题及其答案适用于网站以外的静态 HTML。 重复Include another HTML file in a HTML file 【参考方案1】:

另一种方法是使用对象标签。这适用于 Chrome、IE、Firefox、Safari 和 Opera。

<object data="html/stuff_to_include.html"> 
    Your browser doesn’t support the object tag. 
</object>

更多信息在 http://www.w3schools.com/tags/tag_object.asp

【讨论】:

这会导致 hrefs 出现问题。它们默认加载在对象的框架内。您需要将 hrefs 目标标记为父 ***.com/a/1037870/852806 这行得通,但是我的 div 在 stuff_to_include.html 中的所有 CSS 都被忽略了。如何将样式恢复到它上面? @Robbie 你找到解决办法了吗?【参考方案2】:

您可以为此使用 jquery 加载。

<script type="text/javascript">
$(document).ready(function(e) 
    $('#header').load('name.html',function()alert('loaded'));
);
</script>

不要忘记在上面的代码之前包含 jquery 库。

【讨论】:

虽然技术上是正确的(这确实会加载一个外部 HTML 文件),但这就像用反铲进行肾脏手术一样。由于这个问题甚至没有被标记为 jQuery,因此这建议出去并使用反铲来进行肾脏手术——甚至更糟。【参考方案3】:

您正在寻找&lt;iframe&gt; 标记,或者更好的是,一种服务器端模板语言。

【讨论】:

【参考方案4】:

iframe element。

<iframe src="name.html"></iframe>

但您想要出现在多个页面上的内容最好处理using templates。

【讨论】:

但是这样我看到了源代码吧?因为我的目的是:我的页眉、菜单和页脚出现在许多其他 HTML 文件中。为了不重复代码,我更喜欢为每个部分编写一个 HTML,然后将其加载到页面中(这样维护更容易)。 "***.com/a/16132516/19068" — 仅当您查看源代码时。 "因为我的目的是:我的页眉、菜单和页脚出现在许多其他 HTML 文件中。" — 然后使用模板而不是 HTML 功能。

以上是关于将外部 HTML 文件包含到另一个 HTML 文件中[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个 HTML 文件包含到另一个文件中?

将本地 HTML 文件加载、导入或包含到 HTML 文件中 [重复]

如何将从 Ajax 请求收到的响应重定向到另一个 html 页面

将 .css 链接到另一个文件夹

jQuery Mobile - 包含外部文件的页脚

如何将所有资源包含到一个 html 文件中?