动态加载JS文件

有些JS文件无法在前端页面初次加载时就加载完毕,需要通过后端获取版本号或者URL后才能加载的,可以通过JS的方式来实现动态加载。

// 例子是动态加载前端资源文件里的一个JS文件

/**
 * src JS文件的路径
 * callback 加载完JS文件后的回调函数
 */
function loadScript(src, callback) {
  var script = document.createElement("script"),
    head = document.getElementsByTagName("head")[0];
  script.type = "text/javascript";
  script.charset = "UTF-8";
  script.src = src;
  if (script.addEventListener) {
    script.addEventListener(
      "load",
      () => {
        callback();
      },
      false
    );
  } else if (script.attachEvent) {
    script.attachEvent("onreadystatechange", function() {
      var target = window.event.srcElement;
      if (target.readyState == "loaded") {
        callback();
      }
    });
  }
  head.appendChild(script);
}

// 调用函数,传入路径和回调函数
loadScript(
  "../../../static/" + Version + "min.js",
  () => {
    console.log("Complete loading")
  }
);