-
十月 29
最近做手机应用,图片服务器返回的图片,在安卓浏览器上一切正常,ios的safari死活不显示,我就奇了怪了,折腾了一个小时,终于发现了原因。如果大家也有类似的问题,可以参考一下。
首先,我们知道图片有很多格式,jpg,bmp,png,gif等等,不同格式的图片编码不一样,浏览器需要用对应的编码去解析然后显示。当然,这个是浏览器内部的处理,我们不用关心。我们今天来说说一个新的图片格式:webp。
是不是很陌生?没听过?百度百科给的解释如下:
WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。
但WebP是一种有损压缩。相较编码JPEG文件,编码同样质量的WebP文件需要占用更多的计算资源。
桌面版Chrome可打开WebP格式。
原来,webp是谷歌开发的,ios不支持,怪不得ios的浏览器不显示。
那么,怎么看图片格式呢?
可以用抓包工具看下返回的文件头:
上图是一个正常的图片格式,jpeg,下图就是webp了
知道了原因,下面你一定会问解决办法了,很不幸,无解,ios8以下的safari浏览器都不支持,你只能让服务器换回图片格式,ios9还未测试。不过为了保险起见,还是换回传统的jpeg吧。(注意,webp仅仅是浏览器不支持,native应用不存在问题,xcode有现成的类支持解析webp)

- 评论(0)
发表评论 TrackBack
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。