是否有一种普通的JavaScript技术可以将通用代码动态插入HTML页面,类似于PHP的包含功能?



我有一个多页HTML站点,其中包含每个页面上重复使用的通用代码(例如,Navbar Code,Analytics,分析,StyleSheet Imports等)。

是否有一种方法可以动态地插入通用代码,以与PHP的功能相同的结果,并使代码更易于维护?

我已经看到了类似的问题,但并非所有人似乎都在谈论我正在与之合作的网站上实现的目标。例如:

  • 如何使用香草JavaScript注入HTML横幅代码? - 堆栈溢出

重要:我要插入/导入的大部分代码将是正确呈现页面所必需的<header>代码,因此需要在页面加载时插入。

有什么建议吗?请将建议限制为Vanilla JavaScript 。我目前不知道jQuery,想尝试使用JS。

有几种方法可以做您想做的事,但是我认为诸如EJS或类似的模板引擎可以满足您的需求。

确实要记住执行此客户端的含义。爬行者和不运行JavaScript的爬行者将不会有好处,可以看到您的页面上应该是什么。

您可能应该做的是运行这些JavaScript模板服务器端,输出静态页面,然后将其放在Web服务器或CDN上。

webpack?您可以使用包装系统将所有JS融合到一个文件中,对于CSS。这样,您只有脚本和一个链接来添加到每个页面。但是对于HTML零件,将使用JavaScript Ajax添加它们,这不应该是解决方案...

为什么您有多个页面?不能只有一个页面,然后使用新的代码内容而不是重定向更新页面的某个(主要部分)部分。(如果您想在行动中看到此信息,请访问http://google.com,http://twitter.com等等)。然后, index.html 将看起来像这样:

<body>
 <div id = "nav" >
  <a href = "/whatever.html" class = "redirect" > Whatever </a>
 </div>
 <div id = "main" >
  Some content
 </div>
<script>
  //embed jquery
 $(_ => {
  $(".redirect").on("click",function(e){
    e.preventDefault();
    $("#main").load(this.href);
  });
});
</script>

最新更新