我在预加载图像和动态创建元素时遇到问题。该脚本加载图像 URL 列表、创建画布元素等。
问题在于,在随后的“软”刷新或提交相同的 URL 时,不会启动预加载循环,因此不会创建画布元素等。我很确定这与资源缓存有关 - 但是 - 为什么脚本没有按预期迭代图像 URL 列表并构建 DOM 我不确定......这是一个例子
页面上的 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?random=37436464”类型的修复。在 Ubuntu 12.10 上的夜间版本的 Chrome 和 Firefox 上进行了测试。