Как вы откатываете версии Гэтсби?

JP. После проверки вашего решения у меня все еще возникали проблемы в Firefox, где он не предварительно загружал изображения, прежде чем перемещаться вместе с загрузкой страницы. Я обнаружил это, поставив некоторые sleep(5) в сценарии на стороне сервера. Я реализовал следующее решение, основанное на вашем, которое, кажется, решает это.

В основном я добавил обратный вызов в ваш предварительный плагин jQuery, так что он будет вызван после того, как все изображения будут правильно загружены.

// Helper function, used below.
// Usage: ['img1.jpg','img2.jpg'].remove('img1.jpg');
Array.prototype.remove = function(element) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == element) { this.splice(i,1); }
  }
};

// Usage: $(['img1.jpg','img2.jpg']).preloadImages(function(){ ... });
// Callback function gets called after all images are preloaded
$.fn.preloadImages = function(callback) {
  checklist = this.toArray();
  this.each(function() {
    $('<img>').attr({ src: this }).load(function() {
      checklist.remove($(this).attr('src'));
      if (checklist.length == 0) { callback(); }
    });
  });
};

Из моего интереса, в моем контексте, я использую это следующим образом:

$.post('/submit_stuff', { id: 123 }, function(response) {
  $([response.imgsrc1, response.imgsrc2]).preloadImages(function(){
    // Update page with response data
  });
});

Надеюсь, это поможет кому-то, кто приходит на эту страницу с Google (как и я), ища решение для предварительной загрузки изображений на вызовы Ajax.

0
задан Kai Qing 16 January 2019 в 17:05
поделиться

1 ответ

При переходе с версии gatsby 2 на 1 обязательно проверьте также глобальную версию gatsby-cli (последняя версия gatsby-cli 1 - 1.1.41-13 )

#npm
npm uninstall -g gatsby-cli
npm install -g gatsby-cli^1.1.41-13

#yarn
yarn global remove gatsby-cli
yarn global add gatsby-cli^1.1.41-13
.

Хотелось бы, чтобы был способ изменить версию глобального пакета, но в настоящее время это кажется невозможным.

0
ответ дан Derek Nguyen 16 January 2019 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: