IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

動的スクリプトローディング(さんざん既出だと思うけど

なんか、既出な予感もするんですけど

私製版を作ったので

コード

var load = function(src, check, next) {
  check = new Function('return !!(' + check + ')');
  if (!check()) {
    var script = document.createElement('script')
    script.src = src;
    document.body.appendChild(script);
    setTimeout(function() {
      if (!check()) setTimeout(arguments.callee, 100);
      else next();
    }, 100);
  }
  else next();
};

考え方は、 このエントリ と同じです。

使い方

以下の場合

// 処理 1

// ← ここで jQuery を読み込みたい

// 処理 2

// ← ここで JavaScript-XPath を読み込みたい

// 処理 3

こうする

// 処理 1

load('http://code.jquery.com/jquery-latest.js', 'window.jQuery', function() {

// 処理 2
// ここでは、 jQuery が使える

load('http://svn.coderepos.org/share/lang/javascript/javascript-xpath/trunk/release/javascript-xpath-latest-cmp.js', 'document.evaluate', function() {

// 処理 3
// ここでは、 XPath が使える

});});

特徴としては

処理の途中で script ファイルを読み込めること。
あんまり需要ないかな