javascript - 使用 html 或客户端脚本从另一个文本文件导入元素
问题描述
我目前正在清理网站的代码。我注意到head
每个页面的元素几乎是相同的。我想知道是否可以将所有相同的元素放入一个文本文件中,然后在每个 html 文件中以某种方式导入该文本文件的内容。
我知道object
如果公共代码在该body
部分中,您可以使用它来完成此操作,但这不适用于head
.
还有一件事是这些网页托管在 GitHub Pages 上,所以我只能使用静态页面和客户端脚本。如果服务器端脚本可用,例如,您可以使用php import
来完成此操作。
如果有帮助,这是我要导入每个页面的通用代码:
<meta name="description" content="A central resource for PC optimization information."/>
<meta name="keywords" content="Technology,PC,Computer,Optimization,Tweak,Guide,Tweaking,Microsoft,Windows,Nvidia,Intel,AMD"/>
<link rel="stylesheet" type="text/css" media="all" href="pi.css"/>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<meta name="MSSmartTagsPreventParsing" content="true"/>
<meta name="referrer" content="no-referrer"/>
<!-- Icons -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png?v=20191102"/>
<link rel="apple-touch-icon" href="apple-touch-icon.png?v=20191102"/>
<link rel="mask-icon" href="safari-pinned-tab.svg?v=20191102" color="#5bbad5"/>
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png?v=20191102"/>
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png?v=20191102"/>
<link rel="shortcut icon" href="favicon.ico?v=20191102"/>
<link rel="manifest" href="site.webmanifest?v=20191102"/>
<meta name="msapplication-TileColor" content="#2d89ef"/>
<meta name="theme-color" content="#ffffff"/>
解决方案
通过上面的评论和我的一些研究,我设法想出了以下脚本来将元素添加到网页的head
. 一个需要JQuery
,另一个使用 vanilla JavaScript:
查询:
$(function(){
$("head").load("../../aa_common_resources/common_head_elements.txt")
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
香草JS:
var externaltextfile = '../../aa_common_resources/common_head_elements.txt'
var request = new XMLHttpRequest();
request.open('GET', externaltextfile, true);
request.onload = function() {
document.getElementsByTagName("head").item(0).insertAdjacentHTML('beforeend', request.responseText);
};
request.send();
推荐阅读
- python - 如何使用数据透视表 python 选择前 5 个类别
- node.js - 使用 CosmosDB 的 Mongoose:出现错误“共享吞吐量集合应该有一个分区键”
- javascript - 在 jQuery 中加载时图像没有获得 Div 高度
- android - 如何解决“修复 JavaScript 接口注入漏洞”?
- python - 如何从现有的 Dataframe_old 在 python 中创建 Dataframe_new。
- php - Laravel 在所有视图源中输出源控制器、模型和视图文件路径?
- database - 安装 SQL Server Management Studio 后创建数据库实例
- html - 从 LibGdx 导出的 GWT HTML 显示:GwtApplication:异常:(TypeError)
- python - 我需要解释的 Python 代码
- javascript - 使用 jQuery 的 mdc-tab-bar 中的活动选项卡导航