2012-04-30 40 views
0

好吧,這只是沒有任何意義,它是如此redicoulous,我只是不明白。圖1('load',...)並不總是在IE中觸發 - 我放棄

所以,即時通訊有一個功能,使圖片。

function mk_image(src, alt, title, link) { 
     img = new Image(); 
     img.src = src; 
     img.id='ShowC_Img_'+count_image; 
     count_image+=1; 
     img.width = 960; 
     img.height = 320; 
     img.alt = alt; 
     img.style.display='none'; 
     img.setAttribute('border',"0"); 
     return [img,'url('+src+')',link]; 
    } 

然後我讓陣中13個元素這樣的東西艾克:

var items = [/* mk_image('image_source', 'alt', 'title', 'link'), etc... */ 

然後我通過陣列運行,並讓以下內容:

for (i=0; i<items.length;i++){ 
       $(items[i][0]).one('load', function(){ 
//blablabla 
}).each(function(){ 
       if(this.complete || (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6)) 
       $(this).trigger("load");}) 
      .error(function(){alert('shit');}); 
     } 

你猜是什麼呢。有時它會在IE中觸發8張圖片, - 有時候......所有這些圖片,我都不明白............ 儘管在Google Chrome瀏覽器中100%完美。

任何想法?

+0

你得到任何來自IE的錯誤消息? –

+0

嘗試在觀察加載事件後設置src屬性...在IE中,這是同步觸發的......此外,您可以執行'this.complete‖‖。 this.readyState == 4 || this.readyState ==「complete」',因爲這在IE <= 8中工作得很好,以檢查它們是否被加載(「完成」是HTML5) –

+0

錯誤事件從不觸發。什麼錯誤消息你是什麼意思btw? – Anonymous

回答

2

確定,因爲它似乎它變得有點大了,嘗試使用以下方法來調試了一下更詳細的(一次直接,一旦設置src屬性無):

function mk_image(src, alt, title, link) { 
    img = new Image(); 
    img.src = src; 
    img.id='ShowC_Img_'+count_image; 
    count_image+=1; 
    img.width = 960; 
    img.height = 320; 
    img.alt = alt; 
    img.style.display='none'; 
    img.setAttribute('border',"0"); 
    return [img,'url('+src+')',link]; 
} 

var items = [/* mk_image('image_source', 'alt', 'title', 'link'), etc... */ 

function onLoad(img) { 
    console.log(img || this); // check this output (are all images displayed?) 
} 

for (i=0; i<items.length;i++){ 
    $(items[i][0]).one("load", onLoad) 
    .each(function(){ 
    if (this.complete || this.readyState === 4 || this.readyState === "complete") { 
     onLoad(this); 
    } 
    }) 
    .error(function(){alert('shit');}); 
} 
+0

嗯,我控制檯日誌沒有做什麼,因爲某些原因...我似乎無法找到任何關於控制檯日誌中的圖像。 – Anonymous

+0

我有點固定它,我把attr('src',src)。就在我做一個之前('加載');但是,在開始下載圖像之前,需要加載整個頁面。 – Anonymous

相關問題