百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

WebP,淘宝都在用的图片优化方法(淘宝图片优化会对店铺影响吗?)

ztj100 2025-03-30 00:18 1 浏览 0 评论

WebP是什么?

WebP 是一种同时提供了有损压缩与无损压缩的图片文件格式。可以大大压缩图片的大小,并且图片的质量和 png、jpeg 等相同。WebP 的无损压缩比 png 格式的文件平均少了 45% 的大小。

这里是使用了同一张图片转换为不同格式的图片后,对图片的大小进行对比的测试结果:

格式

webp

jpeg

png

gif

大小

1.65MB

2.24MB

7.51MB

4.64MB

使用 webp 压缩后图片大小减少百分比


↓ 26%

↓ 78%

↓ 64%

兼容性

目前大约 95.77% 的浏览器都支持 WebP 格式的图片,其中 Safari 浏览器仅在 Big Sur 及以上的macOS 系统才支持 WebP;针对不兼容的情况下,我们需要进行相应的降级措施。

降级处理原则

  • 判断浏览器是否支持 webp 格式的图片
    • 支持,展示 webp 格式的图片
    • 不支持,使用图片原始格式进行展示

降级处理方式

  1. JS 处理 /** * 判断浏览器是否支持 webp */ // 方法1: 通过尝试加载一张 webp 格式的图片来判断 function isSupportWebp() { const imgUrl = 'https://img.alicdn.com/imgextra/i2/O1CN01uvFm6B1XMMrTkObKV_!!6000000002909-0-tps-520-280.jpg_q75_.webp'; const image = new Image(); image.src = imgUrl; image.onload = function() { // 加载成功,说明支持 webp return true; } image.onerror = function() { // 加载失败,说明不支持 webp return false; } } // 方法2: 通过判断 HTMLCanvasElement.toDataURL() 返回的 dataURI 来判断 function isSupportWebp() { const str = document.createElement('canvas').toDataURL('image/webp'); // 如果支持则会返回传入的类型 image/webp --> data:image/webp;base64,UklGRtgCAABXRUJQVlA4WAoAAAAwAAAAKwEAlQAASUNDUBgCAAAAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANkFMUEgSAAAAAQcQEREQkCT+/x9F9D/tf0MAVlA4IIAAAABwDQCdASosAZYAPm02mUmkIyKhICgAgA2JaW7hdrEbQAnsA99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfasAAD+/9YAAAAAAAAAAA== // 如果不支持则会返回默认值 image/png --> data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADGSURBVHhe7cExAQAAAMKg9U9tCF8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAONUAv9QAAcDhjokAAAAASUVORK5CYII return str.indexOf('image/webp') > -1; } /** * 选择浏览器支持的图片格式 */ function getImg(compressedImg, originalImg) { const isSupport = isSupportWeb(); return isSupport ? compressedImg : originalImg; } ``` 复制代码
  1. HTML 处理: 元素 利用浏览器会选择 元素中最匹配的子 元素,如果没有匹配的,就选择 元素的 src 属性中的 URL 这一特点。如果浏览器支持 image/webp 类型的图片,则加载 元素中 srcset 属性指向的资源,如果不支持则跳过 元素,加载 元素。<picture> <source type="image/webp" srcset="https://img.alicdn.com/imgextra/i2/O1CN01uvFm6B1XMMrTkObKV_!!6000000002909-0-tps-520-280.jpg_q75_.webp" /> <img src="https://img.alicdn.com/imgextra/i2/O1CN01uvFm6B1XMMrTkObKV_!!6000000002909-0-tps-520-280.jpg_q75.jpg"> </picture> 复制代码

降级处理示例

拿淘宝首页举个例子

图片 URL:img.alicdn.com/imgextra/i2…

在 chrome 中加载的是 webp 格式的图片:

在 IE 中加载的则是 jpg 格式的图片:

可以看出淘宝是对图片的 URL 进行了特殊处理,通过在原始图片后加上 _.webp 后缀来做降级处理,如果当前浏览器支持 webp 格式的图片,则加载 webp 格式的图片,若不支持则去掉 _.webp 的后缀加载 jpg 格式的图片。

最后

如果你觉得此文对你有一丁点帮助,点个赞。或者可以加入我的开发交流群:1025263163相互学习,我们会有专业的技术答疑解惑

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: https://gitee.com/ZhongBangKeJi/CRMEB不胜感激 !

相关推荐

你不知道的PostgreSQL数据库安装及实现跨库查询PG和Oracle

PG作为近几年最火热的关系型数据,已经被很多开发者所使用,尤其是5G网络普及完毕后,IOT和AI的应用场景下,数据的读写速度要求非常高,MYSQL已经开始不能满足高强度的数据吞吐(这里有争议,这里只是...

从小白到专家 PG技术大讲堂 - Part 3:PG建库与使用

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注...

最全总结,聊聊 Python 数据处理全家桶(PgSQL篇)

来源:AirPython作者:星安果1.前言大家好,我是安果!PgSQL,全称为PostgreSQL,是一款免费开源的关系型数据库相比最流行的Mysql数据库,PgSQL在可靠性、数据完整性...

Excel函数的基本知识和使用,带你迅速掌握函数,可直接套用!

文章最后有彩蛋!好礼相送!...

Excel 小计、总计公式全都能自动计算新增行,套路公式存好

很多同学会觉得Excel单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解Excel的各个知...

Excel查找最后一条记录,3种方法,你会么?

举一个工作中的例子,左边是商品的出库记录,其中的两列数据,现在需要快速找出最后一次出库的时间1、vlookup公式因为每种商品都会有多条出库记录,所以当我们使用vlookup公式时,它只会查找匹配到第...

DeepSeek装进IDEA,全网最全操作指南一篇详解!编程效率大幅提升

在IDEA插件中搜索“通义灵码”,即可获取到AI插件:点击“Install”按钮即可快速安装:安装可能需要一点点时间,等待即可。安装成功以后,在IDEA窗口的右下角,会提示你登录“...

Excel快速合并内容并换行(excel怎么合并后换行)

#一张图记录元旦假期#...

(六)MyBatis面试通关宝典:让你在面试中脱颖而出的关键

一、MyBatis中的工作原理...

Excel数据透视表,逆透视,你会么?

举个工作中的例子来说明,老板发给你左边的表格,让你快速转换成右边的样式,如下所示:1、数据透视表正常情况下,我们都是从右边的数据明细,使用数据透视表,得到左边的结果,简单回顾一一下,我们选中数据区域,...

掌握 Excel 「删除重复项」的4种方法,少做 80%的无用功!

在Excel中,删除重复项是数据清理和整理的常见任务,有多种方法可以实现这一目标。...

一分钟教会你在Excel里面接入DeepSeek,我们一起帮哪吒逆天改命

01...

128G手机还能用两年!微信这新功能突然来了

爽啊,微信最近搞了两个实用性拉满的新功能。不知道大伙有没有碰上过这么个情况。...

Vlookup公式用法大全,建议收藏备用

上班打工人必学的VLOOKUP函数公式,花费2个小时,总结全了,一起来学1、VLOOKUP公式基本用法VLOOKUP公式有4个参数,使用用法:=VLOOKUP(查找值,查找区域,返回第几列,查找方式)...

mariadb数据库使用SQL命令操作表-增删改查

1.DML基础语法DML(DataManipulationLanguage)...

取消回复欢迎 发表评论: