Предварительная загрузка файлов Javascript

Работаю над небольшим движком для запуска моих тестовых HTML5-игр, используя его как отличный способ углубиться в Javascript и одновременно получать удовольствие. Успех, кстати.

Тем не менее, я только что нашел этот крутой маленький скрипт под названием PreloadJS ( http://www.createjs.com/). Также с использованием классического класса наследования Джона Резига JS. Очень круто, наслаждаюсь этим. Я пытаюсь использовать PreloadJS для загрузки всех файлов моего движка... но у меня, похоже, возникла проблема. Вот код, который я использую (намеренно оставляя его простым):

var ScriptLoader = Class.extend({       // Want to add functionality to this to allow PHP or inline loading...perhaps later
  init: function() {

    this.fileList = [
        'Empty.js',
        './engine/Scene.js'
    ];

    this.preload;
  },

  loadProjectSource: function(directory) {
    if (this.preload != null) { this.preload.close(); }

    this.preload = new createjs.LoadQueue();
    this.preload.addEventListener("fileload", this.fileLoaded);
    this.preload.addEventListener("error", this.fileError);
    this.preload.setMaxConnections(5);

    this.loadAnother();

  },

  loadAnother: function() {
    var item = this.fileList.shift();
    if(this.fileList.length != 0) {
        this.preload.loadFile(item);
    }
  },

  fileLoaded: function(e) {
    debug('Loaded ' + e.item.src);
    this.loadAnother();
  },

  fileError: function(e) {
    debug('Error ' + e.item.src);
  }
}

Из моего экземпляра движка я вызываю ScriptLoader.loadProjectSource. Он ничего не делает, только выдает ошибки, и документация по обработке ошибок (и загрузке файлов JS в целом...) очень редка на сайте PreloadJS. Он фокусируется на предварительной загрузке изображений (что, по общему признанию, выглядит великолепно). Так или иначе, да, это бросает ошибки. И это не могут быть файлы, так как я попытался загрузить совершенно пустой файл JS (как вы можете видеть). Все еще выдает ошибку в файле Empty.js.

Раздражает:) Заранее спасибо.

1 ответ

Сценарий PreloadJS использует XHR, где это возможно, с поддержкой браузера. Для правильной работы этого сценария с локальными сценариями должен быть запущен локальный веб-сервер. После активации моего локального веб-сервера и попытки выполнить ту же операцию, полный успех.

Другие вопросы по тегам