html动态加载script

复制代码
<!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>
相关推荐
亮子AI几秒前
【CSS】cursor: auto, default, none 有什么区别?
前端·css
晴殇i7 分钟前
代码隔离革命:用 JavaScript Realm 安全运行不可信代码
前端·javascript
Mr.Jessy12 分钟前
Web APIs 学习第六天:BOM、location对象与本地存储
开发语言·前端·javascript·学习·web api·bom
百***926528 分钟前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
程序员小寒38 分钟前
前端高频面试题之Vue(高级篇)
前端·javascript·vue.js
m0_639817151 小时前
基于springboot纺织品企业财务管理系统【带源码和文档】
java·服务器·前端
石小石Orz1 小时前
qinkun的缓存机制也有弊端,建议官方个参数控制
前端
用户4099322502121 小时前
Vue浅响应式如何解决深层响应式的性能问题?适用场景有哪些?
前端·ai编程·trae
CC码码1 小时前
重生之我在浏览器里“蹦迪”
前端·javascript·three.js
阡陌昏晨1 小时前
H5性能优化-打开效率提升了62%
前端·javascript·vue.js