<!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>