Это очень полезно для загрузки нескольких скриптов с функцией обратного вызова, содержащей код, который вы хотите запускать только после загрузки всех скриптов. Чтобы загрузить несколько сценариев, вам нужно улучшить функцию AJAX $ .getScript () для обработки нескольких сценариев, а затем просто добавить их в массив для первого параметра и функцию обратного вызова в качестве второго параметра.
Одиночный jQuery Get Script
$.getScript('script1.js', function(data, textStatus) { //do something after script has loaded });
Несколько jQuery Get Scripts
/* enhance $.getSctipt to handle mutiple scripts */ var getScript = jQuery.getScript; jQuery.getScript = function( resources, callback ) { var // reference declaration & localization 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(); }); }; $.getScript(['script1.js','script2.js','script3.js'], function() { //do something after all scripts have loaded }); //or seperate into an array to include var scripts = ['script1.js','script2.js','script3.js']; $.getScript(scripts, function(data, textStatus) { //do something after all scripts have loaded }); [/js]
В любом случае, я обнаружил: Вы можете просто сделать это таким образом, скажем, вам нужно загрузить 3 сценария, а третий имеет обратный вызов. [JS] $ .Get ( "JS / внутр / Flowplayer-3.2.8.min.js") .pipe ($. получить ( "JS / eviflowplayer.js")) .pipe ($. get ("js / evi.flowplayer.js", {}, function () { W.EVI.FLOWPLAYER.init (elem.attr ( 'ID')); });