使用web组件将HTML包含到其他HTML中

使用web组件将HTML包含到其他HTML中,html,web-component,Html,Web Component,使用HTML5导入将HTML片段插入主HTML文件的正确方法是什么 对更一般性问题的回答提到可以做到: <head> <link rel="import" href="header.html"> </head> 但这不起作用。我不需要插入JS和CSS。仅在顶部插入纯HTML标记。要做到这一点并保持HTML可读性,最简单的方法是什么?请参阅: 它说: HTML包含在未来的HTML中。不幸的是,HTML还不支持在HTML中包含一部分HTML 因此,这是它的方

使用HTML5导入将HTML片段插入主HTML文件的正确方法是什么

对更一般性问题的回答提到可以做到:

<head>
  <link rel="import" href="header.html">
</head>
但这不起作用。我不需要插入JS和CSS。仅在顶部插入纯HTML标记。要做到这一点并保持HTML可读性,最简单的方法是什么?

请参阅:

它说:

HTML包含在未来的HTML中。不幸的是,HTML还不支持在HTML中包含一部分HTML

因此,这是它的方式,但还没有在这里

编辑:如果你能,我会使用PHP,它接近清洁度。我包含的链接显示了多种方法来完成您正在尝试的操作


延迟编辑:如果对那些担心采购的人来说仍然重要的话:

我发现这样做的方法是使用ASP.NET和.cshtml文件并使用razor,如下所示:
除了简单地将html插入其他html之外,这还允许您拥有一致的导航栏、页脚等,并最小化您的代码配置文件。此外,使用布局文件会给网站带来更好的感觉,因为当您单击内部链接时,只有网站的一部分会刷新,而不是整个网站。

找到了一种方法来实现这一点,但它远不是可读的。这是理想的方式:

<body>
  <include src="header.html"/>
</body>
这就是HTML5导入的实现方式:

<head>
  <link rel="import" href="header.html">
</head>
<body>
  ...
  <script>
    document.body.appendChild(
      document.querySelector('link[rel="import"]')
        .import
        .querySelector('body')
        .cloneNode(true));
  </script>
</body>
注:

不清楚如果header.html和footer.html都存在,如何选择包含 querySelector“body”是避免未捕获的HierarchyRequestError所必需的:未能在“Node”上执行“appendChild”:不能在“body”类型的节点中插入“document”类型的节点。 不清楚如何在没有标记本身的情况下插入标记内容 HTML5导入在Firefox 38中不起作用=/
你看过吗?那是实验性的。你可能不得不求助于@techtonik,这对我来说一直是一个很好的资源。只是说说而已。我看不出人们对它有什么问题。再说一次,这一直是我的问题。我信任他们。更新此信息时没有数据,因此我没有理由信任他们。ASP.NET不是HTML5 web组件标准。