У меня возникают проблемы при предварительной загрузке изображений и создании элементов на лету. Скрипт загружает список URL-адресов изображений, создает элементы холста и т. Д.Chrome/Firefox Кэшированные изображения Выпуск
Проблема в том, что при последующих «мягких» обновлениях или представлении одного и того же URL-кода цикл предварительной загрузки не инициируется, поэтому элементы холста и т. Д. Не являются создано. Я почти уверен, что это как-то связано с кэшированием ресурсов - однако, почему сценарий не выполняет итерацию через список URL-адресов изображений и построение DOM, как ожидалось, я не уверен ... Here's an example
JavaScript на страница оптимизируется выход, но цикл предварительной нагрузки выглядит следующим образом:
// Images array
var images = [];
for (var i = 0; i < l.length; ++i) {
// Create canvas element
var canvas = document.createElement('canvas');
// Canvas element properties
canvas.width = l[i].w;
canvas.height = l[i].h;
canvas.style.display = 'none';
// Image element + mouse over event
images[i] = document.getElementById('i' + i).getElementsByTagName('img')[0];
images[i].addEventListener('mouseover', function() {
handleCanvas(this);
}, false);
// Push canvas into DOM
images[i].parentNode.insertBefore(canvas, images[i]);
// Preload item from processed images list
var image = new Image;
image.src = l[i].i;
}
Я бы предпочел не прибегать к заголовкам или «URL случайным = 37436464?» исправлениям типа, если это возможно. Протестировано на ночных версиях Chrome и Firefox на Ubuntu 12.10.