Я использую jQuery's getScript()
для загрузки отдельных файлов javascript. Файлы, кажется, загружаются нормально (я знаю это, когда я помещаю неправильный URL-адрес, он выдает ошибку - нет ошибки с правильным URL-адресом).jQuery getScript() не разрешает
Тем не менее, функция done()
не работает. Консоль не записывается в журнал «done», и никакая из функций не вызвана.
(function($) {
$.when(
$.getScript(templateUrl + "/assets/js/variables.js"),
$.getScript(templateUrl + "/assets/js/functions.js"),
$.getScript(templateUrl + "/assets/js/events.js"),
$.Deferred(function(deferred){
$(deferred.resolve);
})
).done(function(){
console.log("done");
swapBackgroundImgs();
singleLarge();
bindFlexorder();
bindSvgeezy();
bindPlaceholder();
preloadImages();
});
})(jQuery);
То, что вы сказали, имеет смысл. Я узнал о нескольких getScript() из [этого стека] (http://stackoverflow.com/a/11803418/997596), поэтому мой код был таким. Я удалил '$ .Deferred', но все же ничего в' done() 'не вызвано. Будет ли это иметь какое-либо отношение к оболочке функции jQuery? – Fisu
@tommyf: Это не из-за оболочки в коде, который вы указали, но если вы также используете эту оболочку в загружаемых скриптах, то да: функции в этих сценариях не будут доступны, потому что они 'd быть красиво обернутым в функции обзора. Вам нужно было бы сделать их доступными как-то, возможно, через один общий объект, доступный как глобальная переменная ('var App = {};', и затем они добавят себя в 'App'), или если они поднимут событие на существующий глобальный ('document.body'), который передает ссылку на них слушателям. –
загруженные сценарии развернуты. Через веб-инспектора я вижу, что загруженные сценарии доступны для просмотра в каталоге 'XHRs'. Доступны ли они оттуда? – Fisu