首页 > 移动平台 > 详细

记一次ios下h5页面图片显示问题

时间:2021-07-09 00:57:50      阅读:9      评论:0      收藏:0      [点我收藏+]
  刚入职公司时做了一个移动端上传图片并可以预览的组件,之前也有业务组用过,没发现什么问题,但是这次出现了两个很诡异的问题。
  一个是有个老数据的图在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效果,这样更直观。最终完美解决。
技术分享图片
技术分享图片
 
技术分享图片
技术分享图片
 

记一次ios下h5页面图片显示问题

原文:https://www.cnblogs.com/changzz/p/14987579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!