2013-02-22 115 views
0

在預加載圖像和動態創建元素時遇到問題。該腳本加載圖像URL列表,創建畫布元素等Chrome/Firefox緩存的圖像問題

問題是,隨後的「軟」刷新或提交相同的URL預加載循環不啓動,所以畫布元素等創建。我非常確定這與資源緩存有關 - 但是 - 爲什麼腳本沒有通過圖像URL列表迭代並按預期構建DOM我不確定... Here's an example

JavaScript on頁面優化輸出,但預壓循環如下所示:

// 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?」的類型,如果可能的修復。在Ubuntu 12.10上測試Chrome和Firefox的夜間版本。

回答

0

經過進一步調查(在IE9中測試)後,似乎問題是由JavaScript和滯後變量啓動的異步加載造成的。