この拡張された
メソッドは、複数のJavaScriptファイルを効率的にロードし、すべてのスクリプトが正常にロードされた後にのみコールバック関数を実行します。 これにより、複数のスクリプトを順番に読み込むときにしばしば遭遇するネストされたコールバック(「コールバックヘル」)の複雑さが回避されます。
$.getScript
元のシングルスクリプト
$.getScript
$.getScript('script1.js', function(data, textStatus) { // Code to execute after script1.js loads });
1つのスクリプトがコールバックを必要とする場合に役立つ代替アプローチは、ここで実証されています:
/* Enhanced $.getScript to handle multiple scripts */ var getScript = jQuery.getScript; jQuery.getScript = function(resources, callback) { let length = resources.length, handler = function() { counter++; }, deferreds = [], counter = 0, idx = 0; for (; idx < length; idx++) { deferreds.push(getScript(resources[idx], handler)); } jQuery.when.apply(null, deferreds).then(function() { callback && callback(); }); }; // Example usage: $.getScript(['script1.js', 'script2.js', 'script3.js'], function() { // Code to execute after all scripts load }); // Alternative using a separate array: var scripts = ['script1.js', 'script2.js', 'script3.js']; $.getScript(scripts, function(data, textStatus) { // Code to execute after all scripts load });
$.get("js/ext/flowplayer-3.2.8.min.js") .pipe($.get("js/eviflowplayer.js")) .pipe($.get("js/evi.flowplayer.js", {}, function() { W.EVI.FLOWPLAYER.init(elem.attr('id')); }));
このセクションでは、複数のスクリプトの読み込みに関する一般的な質問について説明します。 元のFAQセクションは、明確さと簡潔さのために再編成され、書き直されました。
$.getScript
?
の単純化されたバージョンです
$.getScript
$.getScript
複数のスクリプトをロードする方法?$.ajax()
上記の拡張コードは、堅牢なソリューションを提供します。 チェーン
の利点?$.get
の利点は、スクリプトをオンデマンドで読み込み、コード組織を強化し、コードの再利用性を促進することにより、ページのロードパフォーマンスを向上させます。
エラー処理?提供されたコードに明示的に表示されていないが、$.getScript
。を使用してエラー処理を実装できます。
クロスオリジンリソース共有(CORS)? CORSはサポートしますが、成功はサーバーのCORS構成に依存します。
$.ajax().fail()
は本質的に非同期です。 同期荷重の場合は、を使用しますが、潜在的なパフォーマンスへの影響に注意してください。
$.getScript
は、JavaScriptファイル用です。
$.getScript
$.ajax({ async: false })
依存関係を持つ
$.getScript
ループにスクリプトをロードすることは可能ですが、非同期性は実行順序を慎重に検討する必要があります。 Enhanced
以上が$ .GETScript Mutiple Scriptsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。