次のタイプの JavaScript ファイルを非同期的にロードするクリーンな方法を探しています。読み込まれている「コア」js ファイルに依存するファイル、およびその他の無関係な js ファイルの数。どうすればよいか、いくつかのアイデアがありますが、最善の方法が何であるかはわかりません。ドキュメント本文にスクリプトをロードすることは避けたいです。
たとえば、次の 4 つの JavaScript ファイルを非同期でロードし、適切な名前を付けます。
/js/my-contact-page-js-functions.js // unrelated/independent script
/js/jquery-1.3.2.min.js // the "core" script
/js/jquery.color.min.js // dependent on jquery being loaded
http://thirdparty.com/js/third-party-tracking-script.js // another unrelated/independent script
しかし、カラープラグインの前に jQuery がロードされることが保証されていないため、これは機能しません...
(function() {
var a=[
'/js/my-contact-page-functions.js',
'/js/jquery-1.4.2.min.js',
'/js/jquery.color.js',
'http://cdn.thirdparty.com/third-party-tracking-script.js',
],
d=document,
h=d.getElementsByTagName('head')[0],
s,
i,
l=a.length;
for(i=0;i<l;i++){
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=a[i];
h.appendChild(s);
}
})();
jquery と color プラグインを非同期でロードすることはほとんど不可能ですか? (カラー プラグインでは、jQuery を最初にロードする必要があるためです。)
私が最初に検討した方法は、カラー プラグイン スクリプトと jQuery ソースを 1 つのファイルに結合することです。
それから私が持っていた別のアイデアは、次のようにカラープラグインをロードすることでした:
$(window).ready(function() {
$.getScript("/js/jquery.color.js");
});
これについてどうするかについて考えている人はいますか?ありがとう!