2013-02-28 59 views
4

我遇到了jQuery的onerror處理(或更具體的瀏覽器的JavaScript onerror事件)的困境。我有一個從數據庫加載圖像的圖像處理程序,如果找不到它,它將返回一個404狀態代碼,但也是一個默認未找到的圖像。當有內容返回時,檢測到圖像404在javascript/jquery中加載?

事實證明,除非內容正文爲空,否則瀏覽器不會觸發onerror事件。 jQuery聲明這是基於響應狀態碼,但這不一定是真的。任何人都知道解決這個問題的方法?

+0

請發佈您的代碼和服務器響應,以便有人在這裏可以幫助:) – darshanags 2013-02-28 01:36:27

回答

1

我打字很長的答案,但我的瀏覽器嚼着......看看下面的文章,看看你綁定的OnError將圖像後的DOM已加載會發生什麼:

http://maisonbisson.com/post/12150/detecting-broken-images-in-javascript/

要小心,因爲您試圖實現的方法是一種解決方法,它實際上是一種有效的行爲。

而不是返回404,然後默認圖像,爲什麼不只是返回默認圖像和一個OK,如果你的圖像處理程序找不到所需的圖像?畢竟,即使它不是你需要的特定圖像,它仍然是一個有效的,儘管是默認的響應。

+0

我猜他需要一些指標,圖像是無效的,除了圖像本身。 – codefactor 2013-02-28 01:54:20

+0

這是可能的,但打破錯誤事件不是這樣做的方式!正如我所說,返回一個有效的圖像,但說404未找到邏輯不正確,因爲你找到了默認圖像。 – 2013-02-28 01:59:55

+1

不幸的是,如果某人正在使用某些外部服務來處理圖像(例如,YouTube會使用404s返回默認圖像) – Secret 2014-12-27 04:15:36

相關問題