JavaScript -创建 script 元素并加载指定的 JS 文件

创建一个 script 元素,并将其附加到 head 元素的子列表的最后。该 script 元素将加载 js/test.js 文件,加载完成之后将调用其中的方法或引用其中的变量:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>创建 script 元素并加载指定的 JS 文件</title>
    </head>
    <body>
        <script type="text/javascript">
            window.onload = (event) => {
     
     
                const onLoadCallback = (event) => {
     
     
                    console.log(event)
                    
                    func() // 调用 js/test.js 文件中的方法
                    console.log(data) // 引用 js/test.js 文件中的变量
                }
                
                const onErrorCallback = (error) => {
     
     
                    console.error(error)
                }
                
                jsLoader('js/test.js', onLoadCallback, onErrorCallback)
            }
            
            function jsLoader(src, onLoadCallback, onErrorCallback) {
     
     
                // https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement
                // https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
                const element = document.createElement('script')
                
                // https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute
                element.setAttribute('type', 'text/javascript')
                element.setAttribute('src', src)
                
                element.onload = onLoadCallback
                element.onerror = onErrorCallback
                
                // https://developer.mozilla.org/en-US/docs/Web/API/Node/appendChild
                document.head.appendChild(element)
            }
        </script>
    </body>
</html>

js/test.js 文件:

const func = () => {
    
    
    console.log('Hello World!')
}

const data = {
    
     filename: 'text.js' }

效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29761395/article/details/112855236