Существует несколько способов загрузки (или предварительной загрузки) изображений на страницу, если вы этого добились. Вы можете использовать javascript для загрузки всех изображений в «скрытый» контейнер (<div style="display: none">
).
var anImage = new Image
anImage.onload = function() {...} // keep a counter here to make sure all images are in?
anImage.src = ...
$imageContainer.append(anImage)
Браузеры кэшируют эти изображения, так что вы можете даже избавиться от контейнера после загрузки всех изображений, если хотите!
Дополнительным преимуществом является то, что изображения не будут перезагружаться с сервера в случае обновления страницы. Если вы хотите, чтобы при загрузке страницы после обновления отображалось определенное изображение, я бы предложил изменить window.location.hash
(URL-хэш) на идентификатор изображения и прочитать это свойство при загрузке страницы и отображении соответствующего изображения.
http://..../millview/page.html#midnightExpress
и затем:
window.onload = function() {
selected = window.location.hash.substring(1); // selected === 'midnightExpress'
// show the image
}
Поэкспериментируйте с этим ... вы можете найти действительно полезным использовать хэши URL как своего рода "постоянство" для страниц / обновлений / истории.
(Отпишитесь, если вы думаете, что это было слишком долго и бесполезно!)
Браузеры, включая IE, кэшируют изображения по их URL. Таким образом, пока атрибут src
остается неизменным для предварительно загруженного и просматриваемого в данный момент изображения, изображение не будет перезагружаться с сервера, а просто извлекается из кэша - что довольно быстро. Предварительно загруженный элемент изображения можно удалить после загрузки изображения - мы хотим, чтобы изображение кэшировалось только браузером