Определите, какие сценарии находятся внутри объединенного файла js - PullRequest
0 голосов
/ 03 ноября 2010

Я пытаюсь создать загрузчик ajax-скриптов, но сталкиваюсь с проблемой, когда я отправляю фрагменты моего объединенного файла более двух раз (т.е. jquery, объединенный с другими скриптами, отправляется дважды).потому что это требуется для некоторых (ajax) запрошенных скриптов, отправляемых по проводам.

Сначала я подумал, что я просто добавлю фрагменты md5 к имени файла, и если запрошенный скрипт соответствует части этого, неотправить - но это не очень хорошо, скажем, для 100 комплектных скриптов.

У кого-нибудь есть другие предложения?

Спасибо!

Мэтт Мюллер

1 Ответ

1 голос
/ 03 ноября 2010

Я думаю, это зависит от типов сценариев.Лично я бы определил библиотеки, которые доступны, а затем просто проверил, был ли определен объект.

Пример WAG здесь, чуть выше моей головы (на мой взгляд, этот метод может быть довольно отвратительнымиспользовать на регулярной основе, но это будет быстрее, чем индивидуальная идентификация текста.)

//javascript loader shell
var loader = function(){

    var loadLibrary = function(libraryName, fn){
        //your code to verify and download library or collection here 

        //callback function
        return fn();
    }

    return {
        exec: function(libraryName, fn){
           if(typeof(eval('window.'+libraryName)) != 'undefined'){
               return fn();
           } else {
               return loadLibrary(libraryName, fn);
           }
        }
    }   
}();

//example usage
loader.exec('util', function(){util.test();});
...