周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. 前端
  3. javascript
  4. 正文

vue动态加载javascript

2023年 9月 20日 763点热度 0人点赞 0条评论
const Utils = {
   /**
   * 加载js
   * @param src
   */
  loadScript(src) {
    return new Promise((resolve, reject) => {
      const script = document.createElement("script"),
        head = document.getElementsByTagName("head")[0];
      script.type = "text/javascript";
      script.src = src;
      if (script.addEventListener) {
        script.addEventListener(
          "load",
          function () {
            resolve();
          },
          false
        );
      } else if (script.attachEvent) {
        script.attachEvent("onreadystatechange", function () {
          const target = window.event.srcElement;
          if (target.readyState == "loaded") {
            resolve();
          }
        });
      }
      head.appendChild(script);
    });
  },
  /**
   * 加载多个js
   * @param src
   * @param callback
   */
  loadMoreScript(src) {
    if (_.isArray(src)) {
      const list = [];
      src.forEach((itemUrl) => {
        list.push(Utils.loadScript(itemUrl));
      });
      return Promise.all(list);
    } else {
      return Utils.loadScript(src);
    }
  },
}

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023年 9月 20日

周凯

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蒙ICP备18004897号