2016-08-24 72 views
0

請原諒我提出這樣一個基本問題,我不是UI用戶。試圖谷歌幾件事,但不能涉及到我的情況。jQuery加載在Chrome上不能執行

我有以下代碼

var img = new Image(); 
var imageUrl = "some API which will get me the image"; 

$(img).attr('src', imageUrl).load(function() { 
    imageLoaded = true;    # line A 
}); 

我假定attr函數將分配屬性到img可變的,並且以後將寄存器傳遞給load匿名函數每當圖像被成功加載將被執行。 (糾正我,如果我錯了)

我想這調試使用的開發工具。在Chrome 52上,行A未被擊中。在Chrome 51和Firefox 45上,它正常打中。由於這一行,我的應用程序無法正常工作。

我使用jQuery 2.3.1

知道爲什麼這可能會失敗?我錯過了什麼嗎?

+5

它是建立在「加載」處理程序之前* *您設置的「src」屬性是個好主意。 – Pointy

+1

幸運的是,很多次人們犯這個錯誤,但從未看到它因爲沒有被緩存而中斷。 –

+0

嗨@Pointy感謝您的評論。我同意,可能我需要改變這一點。但事情是我需要給出一些有力的理由來改變這一點。需要確保這是導致問題的問題 –

回答

0

的API已經得到解決後,您應該指定SRC。

+0

不,這不會解決目的。之所以這樣寫,是爲了在圖像加載後執行「某些事情」。所以這沒有意義。 –

+0

要麼你有圖像的網址或網址將被api調用獲取,在第一種情況下,圖像元素的加載事件將工作,但對於後來它不會,你需要聽取加載/完成/成功api調用的事件 –

+0

困擾我的事情是在少數瀏覽器上工作,而不是在其他瀏覽器上工作。它不適用於'Chrome 52',它可以在'Chrome 51'和'Chrome 53 beta'上運行 –