有没有一种方法可以使HTML模块化?

6
我希望将HTML分成几个模块,例如:
  • domHeader.html
  • bodyheader.html
  • content.html
  • footer.html
所有页面都必须具有相同的domHeader、bodyHeader和footer,但内容不同。我只需要在所有页面中引用它们。如果我想要更改页脚,我不需要更改所有页面的页脚。我只需要更改footer.html。
我知道Java和其他语言可以做到这一点。我只是一个初级Web开发人员,只懂得HTML、CSS和JS,并没有个人网站。
我已经查看了一些JS模板,但没有找到此功能。有没有简单的方法可以实现呢?Node.js?

从你的问题中真的不清楚你想做什么。“如果在不同的页面中有相同的部分,我只需要引用它们”的意思是什么? - David Robinson
你在服务器端运行什么?Node.js吗?还是你想要在客户端包含不同的HTML部分? - Brad
听起来你想使用模板方案,那么可以了解一下PHP,看看是否可以基于它建立一个模板网站 - arttronics
1个回答

4
最简单和“正确”的方法是使用服务器端代码(无论使用哪种语言),但如果您受限于浏览器,可以使用JavaScript。创建一个基本的HTML文件,并执行Ajax请求以填充一些占位符(使用存储在单独文件中的HTML片段)。与页面交互时(点击链接等),不要离开页面,只需执行更多的Ajax请求并替换这些占位符(这样您将得到一个单页站点)。
另一个选择是有许多页面使用相同的脚本,并且它们都会在加载时使用Ajax请求“组装”其内容,以相同的方式。
如果您有兴趣,我可以给您一些示例,但我应该指出,如果JavaScript被关闭,这将使您的网站无法使用。更糟糕的是,它将无法被搜索引擎正确解析(即您的网站排名较低,人们无法通过谷歌轻松找到它)。因此,出于这些原因,我强烈建议学习一些服务器端编程(使用Node.js或其他都可以)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接