此增強$.getScript
方法有效地加載了多個JavaScript文件,並在所有腳本成功加載後才執行回調功能。 這避免了嵌套回調的複雜性(“回調地獄”)在順序加載多個腳本時經常遇到。
函數如下所示,用於比較:$.getScript
>
$.getScript('script1.js', function(data, textStatus) { // Code to execute after script1.js loads });
/* 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')); }));
>
>本節解決了有關
$.getScript
$.getScript
>是通過HTTP GET請求加載和執行JQUERY函數。這是一個簡化的版本>。 $.getScript
$.ajax()
(如替代示例中)適用於具有單個腳本的特定回調要求的情況。
$.get
$.getScript
>錯誤處理?
>$.ajax().fail()
>交叉原始資源共享(CORS)?
同步加載? $.getScript
$.getScript
>加載非JavaScript文件? $.ajax({ async: false })
帶有依賴關係的 $.getScript
腳本?提供的解決方案可確保在回調執行之前所有腳本加載,解決依賴關係問題。
>將腳本加載在循環中? 雖然可能,但異步性質需要仔細考慮執行順序。 增強的可以有效地處理此。
以上是$。getScript mutiple腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!