2014-03-28 40 views
0

這個問題看起來很簡單,但我發現答案是非常難以捉摸。我有一個shoutcast服務器廣播兩個圖像,並且只能從某些不包含文件類型的URL中檢索。我想要做的是獲取正在廣播的專輯封面。如果該網址沒有可以使用的圖片,請切換到其他網址。我寫的代碼是JS fiddle。而這裏的故障點:Javascript驗證圖像沒有文件類型

try { console.log("testing..."); if (img2.height > 0) { //I have to use something other than the image height, because //that's already determined by CSS //thus always setting clear to true, //regardless of the image. console.log("cleared [true]"); clear = true; } else { console.log("cleared [false]"); clear = false; }

一個解決方案,我認爲可能的工作是在用戶的瀏覽器在控制檯 拋出了一個錯誤「資源解讀爲圖像,但MIME類型文本轉/平淡的道:」但是從我收集的信息,JavaScript無法訪問那種信息。我也在if語句中嘗試了許多比較,但沒有運氣,他們總是給出相同的結果,而不管圖像如何。所以我遇到了障礙,並不知道我需要什麼,我討厭離開這個如此開放,但它確實是我得到的最好的。我有服務器運行兩個音樂曲目和他們的專輯封面,我會讓你們玩弄它。

+0

也許這是你的問題? http://stackoverflow.com/questions/16084374/jquery-width-and-height-return-0-for-img-element –

回答

0

使用onerror事件,如:

img2.onerror = function(){ 
    alert('see'); 
} 

http://jsfiddle.net/364F8/1/

我不會重寫你的代碼,但你應該 '看' 它如何與示例工作。