使用 JavaScript 加载外部 HTML 文件
有时,我们必须根据项目要求,使用 JavaScript 或 jQuery 将外部 HTML 文件加载到另一个 HTML 文件中。本教程举例说明如何使用 JavaScript 和 jQuery 加载外部 HTML 文件。
使用 JavaScript fetch()
方法加载外部 HTML 文件
HTML 代码 (home.html
):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Home Page</title>
</head>
<body>
<p>This content is loaded from the home page</p>
</body>
</html>
HTML 代码 (index.html
):
<!DOCTYPE html>
<html lang="en">
<head>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<script src="./script.js"></script>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<button onclick="loadHTML()">
Click to load content from home.html file
</button>
<div id="homePage">
<p>The content from Home Page will be displayed here</p>
</div>
</body>
</html>
CSS 代码(styles.css
):
div{
border: 2px solid rgb(255, 0, 0);
width: fit-content;
margin: 5px;
padding: 2px 20px;
cursor: pointer;
}
button{
margin: 5px;
padding: 2px 20px;
}
p{
font-size: 14px;
}
JavaScript 代码(script.js
):
function loadHTML() {
fetch('home.html')
.then(response => response.text())
.then(text => document.getElementById('homePage').innerHTML = text);
}
输出:
fetch()
函数请求服务器在各种网页上加载数据。
我们使用 fetch()
函数从 localhost 获取 home.html
文件。fetch()
方法返回一个 Promise。
此外,使用了 Response 接口的 text()
方法,该方法接受 Response
流,读取它并返回一个 Promise
,该 Promise
使用 String
解决。请记住,Response
是使用 UTF-8 解码的。
之后,我们使用 getElementById()
方法获取 id 为 homePage
的元素,并通过 .innerHTML
属性将其内部 HTML 替换为 text
。
使用 jQuery load()
方法加载外部 HTML 文件
HTML 代码 (home.html
):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Home Page</title>
</head>
<body>
<p>This content is loaded from the home page</p>
</body>
</html>
HTML 代码 (index.html
):
<!DOCTYPE html>
<html lang="en">
<head>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<script src="./script.js"></script>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<div id="homePage">
Home Page
<p>Click to load content from <b>home.html</b> file</p>
</div>
</body>
</html>
CSS 代码(styles.css
):
div{
border: 2px solid rgb(255, 0, 0);
width: fit-content;
margin: 20px auto;
padding: 2px 20px;
cursor: pointer;
}
p{
font-size: 14px;
}
JavaScript 代码(script.js
):
$(document).ready(function() {
$('#homePage').click(function() {
$(this).load('home.html');
});
});
输出:
ready()
方法检查文件是否完全准备好。此事件仅在文档对象模型已完全加载时发生。
load() 方法从服务器加载信息(数据),并将服务器返回的数据获取到指定元素中。
我们使用 ready()
方法来确保 DOM 在进一步操作之前完全准备好。home.html
文件将使用 load()
方法加载。
相关文章
JavaScript 延迟后重定向页面
发布时间:2024/03/20 浏览次数:87 分类:JavaScript
-
本教程展示了如何使用 JavaScript 中的 setTimeout 方法在延迟后重定向页面。
在 JavaScript 中 use strict
发布时间:2024/03/20 浏览次数:56 分类:JavaScript
-
在本文中,学习 JavaScript 中的 use strict 特性。我们将通过不同的示例了解如何在 JavaScript 代码语句中创建和执行 use strict 关键字。
在 JavaScript 中更改输入值
发布时间:2024/03/20 浏览次数:69 分类:JavaScript
-
我们可以使用 JavaScript 中的 value 属性或 setAttribute() 函数更改输入值。
JavaScript 清除输入
发布时间:2024/03/20 浏览次数:125 分类:JavaScript
-
输入字段可以重置或与空值相关联。onfocus 属性可以触发一个函数,起到清除输入的作用。此外,使用 value 属性获取输入条目和清除输入的 reset 方法非常容易掌握。