2010-12-07 74 views
0

我有一個JavaScript,它創建了幾個div元素,並在它們內部爲每個圖像url創建了一個img標籤。我也有一個超時功能,在一段時間後應該會導致圖像停止加載。在FF中,這可以通過將img標籤的src屬性設置爲空白來實現。在webkit瀏覽器中,這是一個不同的故事,因爲所有請求都是異步製作的。在webkit瀏覽器中定時跟蹤像素

我到目前爲止的代碼類似於此:

function tag(url_array, timeout) 
{ 
    var _tag_div = document.getElementById('tag_div'); 

    for(var i in url_array) 
    { 
     var e = document.createElement('div'); 
     e.setAttribute('id', '_tag_' + i); 
     e.innerHTML = '<img src="' + urls[i] + '"/>'; 
     _tag_div.appendChild(e); 

     setTimeout(blank_img.bind(window, i), timeout); 

    } 

    function blank_img(x) 
    { 
     document.getElementById('_tag_' + x).firstChild.src = ''; 
    } 

} 

正如我所說的這種運作良好,在FF但在WebKit瀏覽器當然這並不能阻止圖像的加載。鑑於這將用於第三方頁面上的像素跟蹤系統,代碼需要儘可能輕量級。有人知道這個問題的解決方案,或者可以幫助我找到一個問題嗎?在此先感謝, -CarbonX

+0

燦」你只是讓服務器跟蹤實際的網頁請求,而不是討厭的像素? – thejh 2010-12-07 22:55:37

+0

哈哈,我希望...可悲的是,這些不是我們的組織像素,他們在我們的系統上捎帶。 – CarbonX 2010-12-07 22:57:15

回答

0

嘗試從DOM與removeChild完全卸下,如:

function blank_img(x) { 
    var imgTag = document.getElementById('_tag_' + x); 
    if(imgTag) { imgTag.parentNode.removeChild(imgTag); } 
} 

我假設你不需要標籤後...