<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态添加JavaScript代码</title>
</head>
<body>
<h1>Hello, World!</h1>
<button onclick="addScript()">点击添加脚本</button>
<script>
function addScript() {
// 创建一个新的script元素
var script = document.createElement("script");
// 设置脚本的内容
script.textContent = `
document.body.innerHTML += "<p>这是一段动态添加的文本。</p>";
`;
// 将脚本添加到body元素
document.body.appendChild(script);
}
</script>
</body>
</html>
当HTML文档被完全加载和解析完成时,DOMContentLoaded
事件会被触发。这比load
事件更早,因为在DOMContentLoaded
事件触发时,样式表、图像和子框架可能还没有完全加载。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Script Loading</title>
</head>
<body>
<script>
document.addEventListener("DOMContentLoaded", function() {
var script = document.createElement("script");
script.src = "path/to/your/script.js";
document.body.appendChild(script);
});
</script>
</body>
</html>
当一个资源(如脚本、图像或样式表)完成加载时,load
事件被触发。这通常用于检测外部资源是否已完全加载。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Script Loading</title>
</head>
<body>
<script>
window.addEventListener("load", function() {
var script = document.createElement("script");
script.src = "path/to/your/script.js";
document.body.appendChild(script);
});
</script>
</body>
</html>
使用jQuery,你可以使用$(document).ready()
方法来确保在DOM加载完成后执行代码。这与DOMContentLoaded
事件类似。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Script Loading</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var script = document.createElement("script");
script.src = "path/to/your/script.js";
document.body.appendChild(script);
});
</script>
</body>
</html>