Existe uma maneira de carregar imagens no cache do usuário de forma assíncron

Tenho uma lista de itens. Cada um deles é um quadrado com um nome e, quando o usuário passa o mouse sobre o quadrado, uma imagem será exibida, o que é feito pelo jQuery. O código é assim:

$('.square').hover(function() {
  var link = $(this).attr('title');
  $(this).addClass('squarehover')
         .css({backgroundImage: 'url(images/' + escape(link) + '.jpg)'}); 
}, function() {
  $(this).removeClass('squarehover')
         .attr('style', '');   
});

.squarehover {
  font-size: 0px;
  background-repeat: no-repeat;
  background-size: 100%;
  -moz-background-size: 100%;
  background-position: center center;
  position: absolute;
  z-index: 10;
  cursor: pointer;
}

Se as imagens não forem carregadas previamente, haverá um pequeno atraso ao passar o mouse. Além disso, não quero mostrar a página depois de terminar de carregar todas as imagens.

Como as imagens não são mostradas explicitamente na página, é possível primeiro carregar a página e começar a carregar as imagens no cache do usuário (minha ideia é que o usuário não mova o mouse imediatamente para esse quadrado)? Como fazer isso se não houver<img> tag em HTML?

BTW, já quebackground-size não é suportado no IE8, como lidar com isso?

questionAnswers(1)

yourAnswerToTheQuestion