Я использовал код Амит в качестве основы для функции загрузки изображений после того, как пользователь углубился в приложение, а не до того, как приложение запустилось.
Пользователь делает серию выборов в нашем приложении, которые динамически определяют серию изображений для загрузки - до 5 400x400 пикселей на дюйм. КЛЮЧ здесь - я должен убедиться, что изображения загружены ДО запуска функции. Эта функция не работает, если изображения не были предварительно загружены. Если эта функция не работает, все приложение не работает. Итак, изображения должны быть там.
Код Амит был критически важен для построения нашей функции. Спасибо. Единственное, что я добавил, чтобы сделать его пуленепробиваемым в Safari, - это вставить изображение в DOM. это не работает для меня без этого. У меня есть заполнитель div с прозрачным изображением и его действительным src. В моем случае я знаю, сколько изображений и настроил их заранее, но это можно сделать динамически, прежде чем запускать код для вставки в div.
в html:
<div id="hideMe">
<img class="theImgs" id="fake1" src="transparent.png"><img id="fake2" src="transparent.png"> etc...
</div>
в JavaScript:
image.src = item; // insert after this line, the two lines below.
// insert image into the DOM, into a hidden div
$("#fake" + imageCountdown).attr('src', '' + item + '');