2013-07-23 12 views
2

我知道圖像上的onerror處理程序。我想知道的是錯誤發生的原因。使用onerror時,無論我處於脫機狀態(無法訪問服務器)還是圖像url錯誤或已死(服務器無法返回有效圖像),都會得到相同的結果。如何確定是否因爲沒有互聯網連接或錯誤(/死亡)url而發生img的錯誤?

我似乎無法找出返回的HTTP狀態。

我需要這個,因爲我想將一個佔位符圖像放在損壞的圖像上(標記爲「您需要在線」,但僅當用戶離線時)。理想情況下,只有在用戶離線時纔會觸發,並且無法從緩存中檢索圖像。

對此有任何解決方案? 謝謝

回答

3

您可以測試您對安全URL(如google.com)或您的服務器的訪問權限。如果你有訪問權限,這意味着你有互聯網。如果您有權訪問此網址並且無法加載圖片,則鏈接可能已損壞。

您的需求有點麻煩^^。在任何情況下,鏈接可能暫時中斷,互聯網連接可以打開和關閉,並且請求可能失敗。沒有把握。 在發生錯誤時只需放置一個佔位符,並說「你看起來脫機了」。 然後在你的網頁上使用load(),如果有一個圖片沒有加載,測試你的安全url,如果你可以達到它,用「鏈接看起來很糟糕」來代替你的「你看起來脫線」,或者你甚至可以嘗試再次加載圖像。理想的做法是避免不止一次呼叫您的安全網址以避免不必要的流量。

今天,網站更依賴用戶來了解這是一個斷開的連接還是斷開的連接。在某個網站上,我看到一個按鈕來指示斷開的鏈接。

+0

謝謝,這可以工作,但它似乎有點麻煩,主要是因爲我想將它作爲(幾乎)所有圖像的通用解決方案,而且如果我可以將所有代碼寫入onerror處理程序。 這樣做的一個問題是,它可能一直不準確:如果我可以到達安全網址,然後鬆開我的網絡連接,它會報告圖像被破壞,可能不是這種情況。 – Andrew

+0

更新我的原始答案 – user1820801

+0

謝謝,以及可以工作。我忘了提及,這實際上並不是在傳統網站上使用,而是在使用phonegap構建的webapp上使用,主要用於平板電腦。我們想要做的是在破碎的圖像上添加一個佔位符「看起來很離線」,但我想確保只有在用戶離線時才添加此佔位符。 – Andrew

相關問題