javascript - 如何在大型网站上正确维护 HTML <head> 内容?

标签 javascript html css html-head

我正在构建我的第一个网站,并且已经预计会有数百个页面。我正在使用 Host Gator 并自己编写所有代码。

如果我需要更新我的 CDN 链接、元标记、网站图标或添加新元素,我不想手动更新 100 个页面。

我目前的解决方案是一个 JS 文件,它位于头部,如下所示:

<head>
     <script src="assets/generateHead.js"></script>
</head>

它包含(添加)我的谷歌字体、bootstrap cdn、站点 css 样式表、favicon、jQuery CDN 和站点 .js 文件。给我的。

脚本示例:

if(!document.getElementById('googleFont1')) {
var link = document.createElement('link');
link.id = 'googleFont1';
link.rel = 'stylesheet';
link.href = 'https://fonts.googleapis.com/css?family=Architects+Daughter';
document.head.appendChild(link);

等等等

这是维护 HTML 内容的良好做法还是最佳做法?我是否应该保留我的 site.css 和 .js 文件,只保留 meta、cdn 和 favicon 链接?

最佳答案

简短回答:不,这不是“最佳实践”。 It may even be bad for your SEO (阅读:人们可能无法找到您的网站,这使得没有 JS 的人数成为一个有争议的问题)。

这也可以说是不必要的。一旦您拥有 Assets ,您真正打算多久更改一次 Assets 名称?作为一名专业开发人员,我认为答案是“很少”,尤其是如果您的基于 CDN 的 Assets 要求您请求主要版本(即“3.x”)并让库维护者处理次要版本。

如果您要处理数百个页面,您将需要研究某种模板,因为以任何形式(不仅仅是 Assets )维护它都会很麻烦。

根据您的主机,您可能可以访问 PHP 或者 Ruby 或 Python。这些服务器端语言中的每一种都有网站模板系统,现在是检查它们的好时机。

如果您的托管选项没有,也有 JavaScript 选项。

如评论中所述,Moustache.js是一个不错的选择,并且适用于多种语言(包括 JavaScript、PHP 和 Ruby),无论您的托管选项是什么,它都是一个不错的选择。

如果您只是在试验,您也可以玩弄 HTML Templates ,它们是新的 HTML 组件标准的一部分。但是,请注意 Internet Explorer 根本不支持它们。

一旦你选择了你的模板解决方案,你就可以创建一个模板部分来容纳你头脑中的所有内容(或者,根据模板系统,你可以创建一个“布局”来容纳这些数据,以及您站点的核心结构;请参阅文档以获取有关如何进行的信息)。这样,当事情发生变化时,您只需要更新一个文件。

然后您还可以从 JavaScript 文件中提取 CSS,这样您就不会在页面加载时看到一闪而过的无样式内容 (FOUC)你去吧)。

关于javascript - 如何在大型网站上正确维护 HTML <head> 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45037576/

相关文章:

javascript - Safari 12 不会下载 PDF blob

javascript - 将 Font Awesome 旋转齿轮添加到 jquery 点击功能?

javascript - Enter 触发表单提交

html - 现在可以使用&lt;input type ="tel"/>了吗?

javascript - 将浮点图另存为图像

html - IE6(及更早版本)中的 Nowrap 继承错误

html - 可折叠导航不适用于边距 - 为什么?

javascript - 确认谷歌分析是否得到很好的实现

javascript - jQuery 焦点在 Chrome 中不起作用

html - 类比 CssClass 快吗?