Это полностью зависит от того, что вы пытаетесь сделать.Если вы создаете img
элементы и устанавливаете их src
, даже если они скрыты с помощью display: none
(в этом отношении, даже если вы вообще не добавляете их в DOM), браузер все равно запросит изображениес сервера.Если ваша страница позволяет пользователю фильтровать изображения перед их просмотром или разрешает подкачку страниц, это может генерировать ненужный сетевой трафик.В идеале, предварительная загрузка изображений возможна только тогда, когда пользователь, скорее всего, их увидит, но достаточно рано, чтобы его не оставили в ожидании.
Обратите внимание, что вы опять не необходимо поместить элементы img
в DOM, пока вы не будете готовы.Достаточно просто создать элемент img
и установить его src
( попробуйте здесь , этот код никогда не добавляет img
в DOM).Таким образом, вы можете сохранить карту элементов img
, например:
var preloaded = {};
function preload(path) {
var img;
if (!preloaded[path]) {
preloaded[path] = img = document.createElement('img');
img.src = path;
}
}
Затем они будут у вас, когда вы будете к ним готовы, но без необходимости убирать их где-нибудь в DOM.