怎么判断js脚本加载完成


在JavaScript中,判断脚本加载完成的方法主要有几种,具体取决于你是如何加载这些脚本的。以下是一些常见的方法:

### 1. 使用`

### 2. 使用动态创建的`

### 3. 使用`Promise`封装异步加载

如果你想要更灵活地处理多个脚本的加载,可以使用`Promise`来封装异步加载的逻辑。


function loadScript(src) {
  return new Promise((resolve, reject) => {
    var script = document.createElement('script');
    script.src = src;
    script.onload = () => resolve(script);
    script.onerror = () => reject(new Error(`Script load error for ${src}`));
    document.head.appendChild(script);
  });
}

// 使用
loadScript('path/to/your/script.js').then(() => {
  console.log('脚本加载完成');
  // 执行脚本加载后的操作
}).catch(error => {
  console.error(error);
});

### 4. 特殊情况:模块加载

如果你在使用ES6模块或者类似Webpack这样的模块打包工具,加载模块通常是通过`import`或`require`来完成的,这些操作在代码执行时会阻塞,直到模块加载完成。但是,如果你想要异步加载模块,可以使用`import()`函数(动态导入)。


import('path/to/your/module.js').then(module => {
  console.log('模块加载完成');
  // 使用模块
}).catch(err => {
  // 处理加载失败
});

以上是几种常见的判断JavaScript脚本加载完成的方法。根据你的具体需求,选择最适合你的方法。