Я хочу предварительно загрузить дюжину изображений, которые используются на разных страницах моего сайта, так что к тому моменту, когда пользователь откроет страницу, изображение, которое включено в нее, откроется мгновенно.Улучшение базового сценария для предварительной загрузки изображений
Для достижения этой цели, я поместил следующий скрипт внутри тега:
<script>
if (document.images) {
var my_image_one = new Image();
my_image_one.src= "path/to/images/my-image-one.jpg";
var my_image_two = new Image();
my_image_two.src= "path/to/images/my-image-two.jpg";
var my_image_three = new Image();
my_image_three.src= "path/to/images/my-image-three.jpg";
/* etc. */
</script>
Проблемы я вижу со сценарием:
- Это повторяется.
- Он запускается и поэтому пытается загрузить изображения каждый раз, когда загружается любая новая страница (даже если изображения уже были загружены ).
Я хочу, чтобы улучшить его, создавая что-то вроде этого:
if (document.images) {
my_images = array (image_name=>path/to/image/image-name.jpg, et cetera);
for (i=1;i++;i<=array.length) {
if "the image hasn't been preloaded yet" {
preload image;
}
}
Как это может быть переведено в соответствующую JavaScript?
Это большой многостраничный сайт @Pointy. –
@Figaro хорошо нормально :-) Вероятно, было бы неплохо отложить предварительную загрузку до события «загрузить» окна, чтобы HTTP-запросы на все изображения на других страницах не мешали вещам необходимо для начальной страницы. – Pointy
Хорошая точка, @Pointy! –