Подтвердить что ты не робот

Что вызывает двойные запросы, когда вы используете Modernizr.load(yepnope.js)

Я использую yepnope.js для загрузки файлов javascript динамически, и я заметил, что мои скрипты кажутся загруженными дважды в соответствии с Firebug и Webkit Inspector.

Проблема заключается в том, что в панели Firebug Net (последняя версия Firefox 4) их ответ - 200, а не 304. Он выглядит медленнее, чем в Chrome.

Я загрузил это видео, показывая проблему. Вы можете увидеть, как файлы jquery-1.6.1.min.js и libs.js загружаются в дополнительное время.

Код, который я использую для этого, упрощен:

Modernizr.load({
                load: ['jquery-1.6.1.min.js', 'libs.js'],
                complete: function () {
                    console.log("loaded");
                }
});

Modernizr.load() yepnope().

4b9b3361

Ответ 1

В этой документации есть примечание:

Из http://yepnopejs.com/

Я вижу два запроса в своем dev инструменты, почему это загружает все дважды?

В зависимости от вашего браузера и ваш сервер может означать пару разные вещи. Из-за характера как работает yepnope, есть два запросы, сделанные для каждого файла. Первый запрос - загрузить ресурс в кеш и второй запрос является его выполнение (но поскольку оно кэш, он должен выполнить немедленно). Просмотр двух запросов довольно нормальный, пока второй запрос кэшируется. Если вы заметили, что второй запрос не кэшируется (и время загрузки script удваивается), затем убедитесь, что вы отправляете правильные заголовки кеша, чтобы кеширование ваших скриптов. Это жизненно важно к yepnope. Он не будет работать без правильное кэширование включено. Мы на самом деле проверить, чтобы вещи не загружались дважды в нашем наборе тестов, поэтому, если вы подумайте, что у нас может быть ошибка в вашем браузер относительно двойной загрузки, мы попросите запустить тестовый пакет для проверьте, проходит ли тест двойной нагрузки.