2010-11-23 8 views
0

jQueryプラグインを作成しようとしていますが、私はいくつかの他のライブラリを使用することを考えていました。これを簡単に使用できるようにするために、追加しなければならないスクリプトタグ参照の量を制限する方法があるかどうか疑問に思っていました。jQueryプラグイン:他のライブラリへのスクリプトタグの参照を制限する

1:私は検討していた

いくつかのオプションのプラグインコードにライブラリのコードを含めます。これが実行可能かどうか確信していますか?プラグインのサイズが大きくなります。

2:私はまだgoogle.loaderについて読んでいますので、まだそれほど多くは分かりません。 Google APIを使用してコード内からライブラリを読み込む方法のようです。 APIキーが必要ですが、これは誰にでも当てはまるわけではありません。

だからStackOverflow、この問題にどう対処しますか?

+0

:ここ

は、私はかなりうまく機能し、一度に使用される別の簡単な方法です。 スクリプトタグの参照数を制限したくないのはなぜですか? –

+0

私はそれが使いやすく、移植性があると主張しています。おそらくjQuery UI、jQuery.tmpl、json2.jsを使用して、少なくとも3つの余分な参照を追加する必要があります。 – Pickels

答えて

1

私はプラグインの中の他のライブラリを含んでいないでしょう、誰もメインプログラムを壊すかもしれない外部ライブラリに隠れているプラ​​グインを使いたいと思っていません。

手動でスクリプトタグを追加せずにスクリプトを含める方法を探している場合は、jQuery.loadScriptまたは同等のメソッドをclosure/googleまたはYUIから試すことができます。私は確かにプラグインライブラリのコードが含まれていないだろう、それはプラグイン太っになりますが、時間をかけてunmaintainableだけでなく

function loadScript(url, callback) { 
    var done = false, 
     script = document.createElement('script'); 

    script.src = url; 
    script.async = true; 

    // Attach handlers for all browsers 
    script.onload = script.onreadystatechange = function() { 
     if (!done && (!this.readyState || 
      this.readyState == 'loaded' || this.readyState == 'complete')) { 
      done = true; 

      if (typeof callback == 'function') { 
       callback.call(window, script); 
      } 

      // Handle memory leak in IE 
      script.onload = script.onreadystatechange = null; 
     } 
    }; 

    var s = document.getElementsByTagName('script')[0]; 
    s.parentNode.insertBefore(script, s); 
}; 
+0

ありがとう、私はそれを感謝します。 – Pickels

関連する問題