我有一个多页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>