前言
移动端应用往往有大量的图片展示场景,图片的大小对企业至关重要。WebP 作为一种更高效的图片编码格式,平均大小比 PNG/JPG/ GIF/动态 GIF格式减少 70%(对比测试页面),且质量没有明显的差别,是其他图片格式极佳的替代者。
1、潜在问题
在移动端使用 WebP 图片,存在两个问题:
1)图片基本上是 PNG/JPG/GIF/动态 GIF 格式,需要转换为 WebP 格式?
图片格式转换分为实时、提前处理两种,提前处理需要已知图片情况,还会增加 WebP 图片的存储,所以用实时处理是比较佳的。
2)移动端原生或默认浏览器是否支持 WebP?如果要兼容众多浏览器,该怎么办?
Android 原生和Chrome 浏览器都支持 WebP,iOS 原生和 Safari 浏览器尚不支持 WebP。其他浏览器方面,除 Opera(欧朋)外,都还不支持。
本文结合又拍云图片处理,探讨一种通用移动端 App 使用 WebP 方式。
1)终端向服务端请求图片(.jpg/.png/.gif等),又拍云 CDN 收到请求后,先去存储源获取图片。
2)访问图片处理,把图片转换成 WebP。
3)把 WebP 图片返回给终端。
4)终端呈现 WebP。
又拍云 CDN 如何知道那张图片要转换成 WebP,因此,需要在访问 URL 上带上相关参数。
WebP 格式转换参数 /format/webp。
例如,图片 URL 是 https://p.upyun.com/docs/cloud/demo.jpg
则图片格式转 WebP 的 URL 是 https://p.upyun.com/docs/cloud/demo.jpg!/format/webp
其中,! 是分隔符。
这个方案虽然实现了图片大小降低和加载时间降低,但没有彻底解决终端兼容问题。Ps:我们的研究也不会止于此
终端兼容问题有:
1)iOS 原生不支持 WebP,怎么呈现 WebP?
iOS 上呈现 WebP的方式是解码 WebP。如何解码 WebP?请看《移动端如何使用 WebP(下)》 。
2)Safari、Firefox、Edge 等浏览器不支持 WebP,怎么兼容?
解决方法是用 JS 判断用户的浏览器,根据浏览器类型,决定是否把图片转成 WebP。如果用户浏览器是 Chrome,Chrome 支持 WebP,可以在 URL 后带上 !/format/webp,使用 WebP 图片;如果用户浏览器是 Safari,Safari 不支持 WebP,URL 后不加 !/format/webp,使用原生图片。
后续又拍云会在 CDN 中集成这个判断,更好的方便用户使用 WebP。
另外一种方法是使用插件,详细请阅读 WebPJS
推荐阅读:
1. WebP图片压缩效果对比
2. 移动端如何使用WebP
原文来自:又拍云
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等
支持识别各类商场、超市及药店的购物小票,包括店名、单号、总金额、消费时间、明细商品名称、单价、数量、金额等信息,可用于商品售卖信息统计、购物中心用户积分兑换及企业内部报销等场景
涉农贷款地址识别,支持对私和对公两种方式。输入地址的行政区划越完整,识别准确度越高。
根据给定的手机号、姓名、身份证、人像图片核验是否一致
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。