我的烏拉拉練功坊

請來參觀移植到 Google Firebase 的成績 https://oolala.xyz/ken73chen/

2017年4月13日

非同步載入 JavaScript 檔案

在 http://stackoverflow.com/questions/7718935/load-scripts-asynchronously 看到的,雖然這不是新東西,不過弄的那麼方便還是很厲害,真是好東西。

function loadScript(src) {
  return new Promise(function(resolve, reject) {
    var s;
    s = document.createElement('script');
    s.src = src;
    s.onload = resolve;
    s.onerror = reject;
    document.head.appendChild(s);
  });
}

例如:

loadScript('https://ajax.googleapis.com/ajax/libs/mootools/1.6.0/mootools.min.js').then(function() {
  loadScript('https://foo.com/js/index.min.js?17041301').then("initPage()");
});

非同步的方式先載入 MooTools 之後,再非同步載入我自己的 index.min.js,然後執行 initPage();

沒有留言:

張貼留言