Это предварительно загрузит изображение, так что браузер сможет отобразить его сразу, когда вы фактически установите src
тега img
.Я предполагаю, что предварительная загрузка изображения, подобного этому, гарантирует, что оно будет в кеше, поэтому оно не будет перезагружаться, хотя я не проверял его.два изображения
function reassignImage(newSource) {
var myImg = new Image(25, 25);
myImg.src = newSource;
img.src = newSource;
}
reassignImage("first.png");
reassignImage("second.png");
reassignImage("first.png");
Редактировать
Я делал это неправильно.Попробуйте создать new Image()
для каждого нового файла, загружаемого пользователем.Поменяйте местами эти элементы изображения из дома.
<html>
<head>
<script>
var imageElements = {};
function reassignImage(newSource) {
if (typeof imageElements[newSource] == "undefined") {
imageElements[newSource] = new Image();
imageElements[newSource].src = newSource;
}
var container = document.getElementById("imageContainer");
container.innerHTML = '';
container.appendChild(imageElements[newSource]);
}
</script>
</head>
<body>
<div id="imageContainer"></div>
</body>
</html>