記一次ios下h5頁面圖片顯示問題


  剛入職公司時做了一個移動端上傳圖片並可以預覽的組件,之前也有業務組用過,沒發現什么問題,但是這次出現了兩個很詭異的問題。
  一個是有個老數據的圖在ios下不顯示,另一個是圖片點擊預覽只顯示一部分加載不全。之所以詭異是所有設備都沒問題就ios下有問題,其中老數據圖不顯示還是ios系統版本13及以下才有的。被這個問題困擾了好幾天,經過一系列艱難排查最終兩個問題都妥善解決。
 
第一個問題原因是該圖是webp格式的,偽裝成了jpg格式(后綴為.jpg)。然而ios13及以下是不支持webp格式的文件的,所以圖片顯示空白。
第二個問題是這次接口返回的圖片url是在瀏覽器打開直接下載的,而之前是在瀏覽器直接顯示的,我在預覽組件里用了loading效果,new 了一個Image對象,賦值url監聽onload事件,然后去除loading再渲染img標簽並給src賦值。這樣導致一個問題就是一張圖片在極短時間里會被加載兩次。而這次的圖片url又是可以直接下載圖片的,所以ios系統為了節流在第二次img加載圖片時判定重復加載從而終止請求導致圖片只顯示一部分。最后解決方案是把new Image的步驟去掉了,直接賦值給img標簽,然后監聽img標簽的onload事件來判斷loading效果,這樣更直觀。最終完美解決。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM