图片404加载失败后如何处理
開發(fā)過程中是不是經(jīng)常遇到這種情況,圖片加載失敗了,顯示一張裂了的小圖,很影響頁面,所以如何才能處理這種情況呢?
兩種辦法,分為原生和jQuery
A. 先說原生方法:
首先我們了解下,圖片除了最主要的src路徑外,存在幾個常用的事件:
onerror:圖像加載過程中發(fā)生錯誤時被觸發(fā)。
onabort:圖片加載的時候,用戶通過點擊停止加載時觸發(fā),通常在這里觸發(fā)一個提示:“圖片正在加載”。
onload:當圖片加載完成之后觸發(fā)。
關于onerror,到底什么情況下才會觸發(fā)呢?
1.src屬性為空或者null
2.src的地址與當前頁面的地址一致
3.在加載過程中因為某些原因崩潰
4.圖片的元數(shù)據(jù)已損壞,無法知道尺寸,并且<img>標簽也沒定義尺寸
5.當前的user agent不支持該圖片格式
你現(xiàn)在應該已經(jīng)知道了,我們可以通過onerror事件來觸發(fā)回調(diào)處理:
給圖片加載失敗綁定onImg()方法
兩種處理辦法,第一種給圖片添加默認圖片:
第二種,隱藏圖片:
現(xiàn)在就可以通過這兩種辦法優(yōu)雅的解決裂圖了,但是需要注意:
這種辦法必須方法在dom渲染之前定義,不然圖片加載失敗后無法找到noImg()方法:
我的項目是用的vue,而且項目部署在海外,所以如果沒有翻墻的話,加載時間會很久而且會404,所以像我這種情況也可以把處理函數(shù)直接寫在dom里面:
B. jQuery監(jiān)聽
注意:jQuery要在img之前引入,函數(shù)定義要在img之后
img的另外兩個事件onabort、onload都是一樣的,可以自己測試體驗一下,這里就不多寫了,希望本文對你有所幫助!
總結
以上是生活随笔為你收集整理的图片404加载失败后如何处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: es6学习笔记--解构赋值
- 下一篇: 情绪逐渐黑化是什么意思 情绪逐渐黑化意思